<SEC-DOCUMENT>0000912562-24-000028.txt : 20240501
<SEC-HEADER>0000912562-24-000028.hdr.sgml : 20240501
<ACCEPTANCE-DATETIME>20240501075306
ACCESSION NUMBER:		0000912562-24-000028
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		75
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240501
DATE AS OF CHANGE:		20240501

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-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-22462
		FILM NUMBER:		24900110

	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-Q
<SEQUENCE>1
<FILENAME>rock-20240331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd,d:054a22af35c64b2a848d2f11411c831c-->
<html xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:rock="http://www.gibraltar1.com/20240331" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>rock-20240331</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" id="f-26">false</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalYearFocus" id="f-27">2024</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalPeriodFocus" id="f-28">Q1</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-29">0000912562</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" format="ixt:date-month-day" id="f-30">12/31</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="rock-20240331.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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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>2024-04-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><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:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-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-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-6"><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-7"><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-8"><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-9"><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-10"><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-11"><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-12"><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: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:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></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:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></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:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-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:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-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:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></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:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></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:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></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:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="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:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-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:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-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:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-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:instant>2023-03-31</xbrli:instant></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:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></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:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-39"><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-40"><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-41"><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-42"><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-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-45"><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-46"><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-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-49"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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="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-57"><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>2024-03-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: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-59"><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>2024-03-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: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-61"><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>2024-03-31</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: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-63"><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>2024-03-31</xbrli:instant></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: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-65"><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>2022-12-08</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:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</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:context id="c-67"><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:unit id="debtcovenant"><xbrli:measure>rock:debtCovenant</xbrli:measure></xbrli:unit><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:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:ForeignCurrencyRateFloorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><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:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</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-70"><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><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-71"><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:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></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="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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></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:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</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-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</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>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</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: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-76"><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="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</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-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli: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></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-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></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: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-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-04</xbrli:instant></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:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-84"><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-03-31</xbrli:endDate></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:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-86"><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-03-31</xbrli:endDate></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:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-89"><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:MeasurementInputTypeAxis">rock:SharebasedCompensationMeasurementReturnOnInvestedCapitalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-90"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-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: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-94"><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-95"><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>2024-03-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: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-97"><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-03-31</xbrli:endDate></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:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-105"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-106"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></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: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-03-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="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-109"><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-03-31</xbrli:endDate></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:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-111"><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-03-31</xbrli:endDate></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:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-113"><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-03-31</xbrli:endDate></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="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-115"><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-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>rock:segment</xbrli:measure></xbrli:unit><xbrli:context id="c-116"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-117"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-118"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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-120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</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="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</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-122"><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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></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="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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-124"><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>2024-03-31</xbrli:instant></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: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-126"><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>2024-03-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="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-128"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-130"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-132"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-134"><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:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-135"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-137"><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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-139"><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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</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-03-31</xbrli:endDate></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: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-03-31</xbrli:endDate></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: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-03-31</xbrli:endDate></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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-144"><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:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-145"><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:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-146"><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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><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-03-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-149"><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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-151"><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-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i054a22af35c64b2a848d2f11411c831c_1"></div><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:4pt;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:14pt;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:14pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</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%">Washington, D.C. 20549</span></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:300.00pt"><tr><td style="width:1.0pt"/><td style="width:298.00pt"/><td style="width:1.0pt"/></tr><tr style="height:3pt"><td colspan="3" style="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:14pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">10-Q</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:300.00pt"><tr><td style="width:1.0pt"/><td style="width:298.00pt"/><td style="width:1.0pt"/></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr></table></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:10.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:496.75pt"/><td style="width:1.0pt"/></tr><tr style="height:12pt"><td colspan="6" 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:100%">(Mark One)</span></td></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:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentQuarterlyReport" format="ixt:fixed-true" id="f-2">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="margin-top:1pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the quarterly period ended <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-3">March&#160;31, 2024</ix:nonNumeric> </span></div><div style="margin-top:6pt;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="margin-top:5pt;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:15pt"><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:fixed-false" id="f-4">&#9744;</ix:nonNumeric></span></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:9pt;font-weight:700;line-height:100%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="margin-top:1pt;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-top:12pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Commission File Number: <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">000-22462</ix:nonNumeric> </span></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:300.00pt"><tr><td style="width:1.0pt"/><td style="width:298.00pt"/><td style="width:1.0pt"/></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr></table></div><div style="text-align:center"><img src="rock-20240331_g1.jpg" alt="Gibraltar_Wordmark_Blue_RGB.jpg" style="height:47px;margin-bottom:5pt;vertical-align:text-bottom;width:361px"/><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:1pt;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-6">GIBRALTAR INDUSTRIES, INC.</ix:nonNumeric> </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%">(Exact name of registrant as specified in its charter)</span><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;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:300.00pt"><tr><td style="width:1.0pt"/><td style="width:298.00pt"/><td style="width:1.0pt"/></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr></table></div><div style="margin-bottom: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:108.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:72.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:57.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:61.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:46.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:154.75pt"/><td style="width:1.0pt"/></tr><tr style="height:14pt"><td colspan="12" 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%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-7">Delaware</ix:nonNumeric></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: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%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-8">16-1445150</ix:nonNumeric></span></td></tr><tr style="height:12pt"><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(State or Other Jurisdiction of Incorporation or Organization)</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:400;line-height:100%">&#160;</span></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:9pt;font-weight:400;line-height:100%">(I.R.S. Employer Identification No.)</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="6" style="padding:0 1pt"/></tr><tr style="height:17pt"><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%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-9">3556 Lake Shore Road</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:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine2" id="f-10">P.O. Box 2028</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:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-11">Buffalo</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:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="f-12">New York</ix:nonNumeric></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: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%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-13">14219-0228</ix:nonNumeric></span></td></tr><tr style="height:12pt"><td colspan="12" 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%">(Address of principal executive offices)</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: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%">(Zip Code)</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%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-14">716</ix:nonNumeric>)&#160;<ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-15">826-6500</ix:nonNumeric> </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%">(Registrant&#8217;s telephone number, including area code) </span></div><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><div style="margin-top:8pt;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:109.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:196.75pt"/><td style="width:1.0pt"/></tr><tr style="height:15pt"><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%">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:100%">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:100%">Name of each exchange on which registered</span></td></tr><tr style="height:15pt"><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%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-16">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: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%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-17">ROCK</ix:nonNumeric></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%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-18">NASDAQ Stock Market</ix:nonNumeric></span></td></tr></table></div><div style="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-19">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><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:6pt;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-20">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;</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:6pt;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 definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller 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:99.707%"><tr><td style="width:1.0%"/><td style="width:13.856%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.521%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:22.360%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.334%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.859%"/><td style="width:0.1%"/></tr><tr><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:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-21">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><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:bottom"><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:bottom"><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"/></tr><tr><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:9pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><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:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Smaller reporting company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><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:fixed-false" id="f-22">&#9744;</ix:nonNumeric></span></td><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:right;vertical-align:bottom"><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:bottom"><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:fixed-false" id="f-23">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="margin-top:3pt;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. </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%"> </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicated by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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;No&#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:fixed-false" id="f-24">&#9746;</ix:nonNumeric></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">As of April&#160;29, 2024, the number of shares of common stock outstanding was: <ix:nonFraction unitRef="shares" contextRef="c-2" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-25">30,469,729</ix:nonFraction>.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">INDEX</span></div><div><span style="color:#000000;font-family:'Times New Roman',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:6.648%"/><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:82.525%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.797%"/><td style="width:0.1%"/></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:middle"><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">PAGE&#160;<br/>NUMBER</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">PART&#160;I.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_10">FINANCIAL INFORMATION</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 1.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_13">Financial Statements</a></span></div></td><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:middle"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">Consolidated Statements of Income for the Three</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16"> Months Ended </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">Mar</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">ch</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16"> 3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">1</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">, 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">4</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16"> and 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16"> (unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_16">3</a></span></div></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:left;vertical-align:middle"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">Consolidated Statements of Comprehensive Income for the Three</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19"> Months Ended </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">Ma</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">rch 31</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">, 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">4</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19"> and 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19"> (unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_19">4</a></span></div></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:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">Consolidated Balance Sheets as of </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">March</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22"> 3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">1</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">, 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">4</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22"> (unaudited) and December 31, 20</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">23</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_22">5</a></span></div></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:left;vertical-align:middle"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">Consolidated Statements of Cash Flows for the </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">Three</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28"> Months Ended </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">March 31</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">, 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">4</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28"> and 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28"> (unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_28">6</a></span></div></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:left;vertical-align:middle"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">Consolidated Statement</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">s </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">of Stockholders&#8217; Equity for the Three </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">Months Ended </a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">March 31</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">, 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">4</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31"> and 202</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">3</a><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31"> (unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_31">7</a></span></div></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:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_37">Notes to Consolidated Financial Statements (unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_37">8</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 2.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_85">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:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_85">16</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 3.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_103">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_103">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 4.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_106">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_106">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">PART&#160;II.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_109">OTHER INFORMATION</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 1.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_112">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_112">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 1A.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_115">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_115">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 2.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_118">Unregistered Sales of Equity Securities and Use of Proceeds</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_118">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 3.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_121">Defaults Upon Senior Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_121">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 4.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_124">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_124">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 5.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_127">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_127">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Item 6.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_130">Exhibits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_130">24</a></span></div></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:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_133">SIGNATURES</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_133">25</a></span></div></td></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%">2</span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PART I. FINANCIAL INFORMATION</span></div><div id="i054a22af35c64b2a848d2f11411c831c_13"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;1. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Statements</span></div><div id="i054a22af35c64b2a848d2f11411c831c_16"></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;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:700;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:700;line-height:120%">(in thousands, except per share data)</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%">(unaudited)</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;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:72.399%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><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.785%"/><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"/></tr><tr><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%">Three Months Ended<br/>March 31,</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="padding:2px 1pt;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%">2023</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"/></tr><tr><td colspan="3" 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-31">292,506</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-3" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-32">293,267</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="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%">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-33">208,118</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-3" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-34">216,338</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"/></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 #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:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-35">84,388</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-3" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-36">76,929</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="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%">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-37">52,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-38">47,559</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"/></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 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:#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:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-39">31,736</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-3" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-40">29,370</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="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 (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:InterestIncomeExpenseNet" scale="3" id="f-41">750</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-3" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-42">1,491</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"/></tr><tr><td colspan="3" 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 income</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:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-43">1,021</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-3" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-44">397</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"/></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 before taxes</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-45">33,507</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-3" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-46">28,276</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="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%">Provision for 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:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-47">8,561</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-3" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-48">7,177</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"/></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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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 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-49">24,946</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-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-50">21,099</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="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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: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="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 earnings per share:</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="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%">Basic</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:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="f-51">0.82</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-3" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="f-52">0.68</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"/></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%">Diluted</span></td><td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #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="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="f-53">0.81</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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-top:3pt double #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-top:3pt double #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="usdPerShare" contextRef="c-3" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="f-54">0.68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #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"/></tr><tr><td colspan="3" 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:</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="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%">Basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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-55">30,572</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-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-56">30,897</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"/></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%">Diluted</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-57">30,793</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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-bottom:3pt double #000000;border-top:3pt double #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="shares" contextRef="c-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-58">31,024</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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"/></tr></table></div><div style="margin-top:7pt;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: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><div id="i054a22af35c64b2a848d2f11411c831c_19"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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%">GIBRALTAR INDUSTRIES, INC.</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%">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:700;line-height:120%">(in thousands)</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%">(unaudited)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></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 style="width:72.399%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><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.785%"/><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"/></tr><tr><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%">Three Months Ended<br/>March 31,</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="padding:2px 1pt;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%">2023</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"/></tr><tr><td colspan="3" 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-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-59">24,946</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-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-60">21,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"/><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%">Other comprehensive 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="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:bottom"><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" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-61">964</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-3" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-62">107</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"/></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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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;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-63">23,982</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-3" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-64">20,992</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="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:7pt;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: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><div id="i054a22af35c64b2a848d2f11411c831c_22"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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%">GIBRALTAR INDUSTRIES, INC.</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%">CONSOLIDATED BALANCE SHEETS</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%">(in thousands, except per share data)</span></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div><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.297%"/><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:14.838%"/><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%">March 31,<br/>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%">December 31,<br/>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%">(unaudited)</span></td><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:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><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="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 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"/></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%">Cash and cash equivalents</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-4" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-65">146,665</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:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-66">99,426</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 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-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-67">5,578</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-68">5,572</ix:nonFraction>, respectively</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-4" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-69">230,971</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:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-70">224,550</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%">Inventories, 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-4" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-71">137,878</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:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-72">120,503</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%">Prepaid expenses and other current 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-4" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-73">15,205</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:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-74">17,772</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 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:#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-4" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-75">530,719</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-5" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-76">462,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"/></tr><tr><td colspan="3" 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-77">108,028</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:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-78">107,603</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%">Operating lease 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-4" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-79">42,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:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-80">44,918</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%">Goodwill</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-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-81">511,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-5" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-82">513,383</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%">Acquired intangibles</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-83">124,257</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:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-84">125,980</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 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-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-85">2,464</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:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-86">2,316</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:0 1pt"/><td style="background-color:#ffffff;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-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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-87">1,319,857</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 style="background-color:#ffffff;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-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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-88">1,256,451</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:700;line-height:100%">Liabilities and Stockholders&#8217; Equity</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"/></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 liabilities:</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%">Accounts payable</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-4" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-89">127,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-5" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-90">92,124</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%">Accrued 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-4" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-91">82,805</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:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-92">88,719</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%">Billings in excess of cost</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-4" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-93">53,261</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:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-94">44,735</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="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 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:#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-4" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-95">263,599</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-5" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-96">225,578</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="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%">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-4" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-97">57,106</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:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-98">57,103</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-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-99">33,793</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:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-100">35,989</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-4" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-101">25,174</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:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-102">22,783</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%">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-4" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-103"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-104">0.01</ix:nonFraction></ix:nonFraction> par value; authorized <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-105"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-106">10,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-107"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-108">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-4" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-109">&#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:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-110">&#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: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-4" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-111"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-112">0.01</ix:nonFraction></ix:nonFraction> par value; authorized <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-113"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-114">100,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-115"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-116">34,266</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-117"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-118">34,219</ix:nonFraction></ix:nonFraction> shares issued and outstanding in 2024 and 2023</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-4" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-119">343</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:CommonStockValue" scale="3" id="f-120">342</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-4" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-121">335,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-5" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-122">332,621</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-4" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-123">763,457</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:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-124">738,511</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-4" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-125">3,078</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="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-126">2,114</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-4" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-127">3,797</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-128">3,778</ix:nonFraction> common shares held in treasury in 2024 and 2023</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-4" decimals="-3" name="us-gaap:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-129">155,796</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:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-130">154,362</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:bottom"><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 #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" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-131">940,185</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-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-132">914,998</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: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:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-133">1,319,857</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:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-134">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"/></tr></table></div><div style="margin-top:7pt;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: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><div id="i054a22af35c64b2a848d2f11411c831c_28"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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%"> GIBRALTAR INDUSTRIES, INC.</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%">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:700;line-height:120%">(in thousands)</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%">(unaudited)</span></div><div style="margin-top:3pt;text-align:center"><span><br/></span></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:72.399%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><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.785%"/><td style="width:0.1%"/></tr><tr><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%">Three Months Ended<br/>March 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%">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%">2023</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%">Cash Flows from Operating 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"/></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 income</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:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-135">24,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 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-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-136">21,099</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="6" 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%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><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"/></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%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-137">6,663</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-3" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-138">6,834</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%">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-139">2,639</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-3" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-140">1,594</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="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%">Exit activity recoveries, 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" sign="-" name="rock:NoncashProjectAbandonmentCostsReversalOfCosts" scale="3" id="f-141">72</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-3" decimals="-3" sign="-" name="rock:NoncashProjectAbandonmentCostsReversalOfCosts" scale="3" id="f-142">63</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="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%">Provision for (benefit of) 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:fixed-zero" scale="3" id="f-143">&#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-3" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="f-144">51</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 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%">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" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" format="ixt:num-dot-decimal" scale="3" id="f-145">1,691</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-3" decimals="-3" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" format="ixt:num-dot-decimal" scale="3" id="f-146">1,023</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%">Changes in operating assets and liabilities net of effects from acquisitions:</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 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-147">6,950</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-3" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-148">18,004</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%">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" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-149">17,231</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-3" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-150">1,586</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 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%">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-151">453</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-3" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" format="ixt:num-dot-decimal" scale="3" id="f-152">2,536</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%">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" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-153">35,455</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-3" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-154">23,077</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%">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-155">5,587</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-3" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-156">1,586</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;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 #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:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-157">53,181</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-3" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-158">38,045</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%">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"/></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%">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="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-159">4,366</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-3" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-160">2,190</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 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%">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:fixed-zero" scale="3" id="f-161">&#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-3" decimals="-3" sign="-" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="f-162">554</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="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%">Net cash used in investing 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:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-163">4,366</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-3" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-164">1,636</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:700;line-height:100%">Cash Flows from Financing 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"/></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 debt 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:RepaymentsOfLongTermDebt" format="ixt:fixed-zero" scale="3" id="f-165">&#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-3" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-166">50,000</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 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%">Proceeds from 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-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:fixed-zero" scale="3" id="f-167">&#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-3" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-168">11,000</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 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%">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-169">1,434</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-3" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-170">7,509</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="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 financing 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:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-171">1,434</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-3" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-172">46,509</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 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 on cash</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" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-173">142</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-3" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-174">11</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%">Net increase (decrease) in cash and cash equivalents</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-175">47,239</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-3" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-176">10,111</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%">Cash and cash equivalents at beginning of year</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-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-177">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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-178">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"><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 period</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span 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 #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-179">146,665</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span 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 #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><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-180">7,497</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:7pt;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: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><div id="i054a22af35c64b2a848d2f11411c831c_31"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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%">GIBRALTAR INDUSTRIES, INC.</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%">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:700;line-height:120%">(in thousands)</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%">(unaudited)</span></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:23.643%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.488%"/><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:6.659%"/><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:7.684%"/><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:7.245%"/><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:11.637%"/><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:5.488%"/><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:7.684%"/><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:10.477%"/><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"/><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"/><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"/><td colspan="3" style="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"/><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"/><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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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:1.0%"/><td style="width:23.643%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.488%"/><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:6.659%"/><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:7.684%"/><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:7.245%"/><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:11.637%"/><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:5.488%"/><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:7.684%"/><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:10.477%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></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"/><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"/><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="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"/><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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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:1.0%"/><td style="width:23.643%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.488%"/><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:6.659%"/><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:7.684%"/><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:7.245%"/><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:11.637%"/><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:5.488%"/><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:7.684%"/><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:10.477%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr style="height:30pt"><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:8pt;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:8pt;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:8pt;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:8pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive Loss</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:8pt;font-weight:700;line-height:100%">Treasury&#160;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:8pt;font-weight:700;line-height:100%">Total<br/>Stockholders&#8217; Equity</span></td><td colspan="3" style="display:none"/></tr><tr style="height:15pt"><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:8pt;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:8pt;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:8pt;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:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Balance at December 31, 2023</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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-181">34,219</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-182">342</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;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-183">332,621</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;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-184">738,511</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-185">2,114</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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-12" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-186">3,778</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-187">154,362</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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-188">914,998</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-189">24,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:8pt;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:8pt;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:8pt;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:8pt;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-190">24,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="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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-191">964</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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-192">964</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:400;line-height:100%">Stock compensation 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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-193">2,639</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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;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-194">2,639</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:400;line-height:100%">Net settlement of restricted stock units</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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="f-195">47</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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-196">1</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-197">1</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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-17" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="f-198">19</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-199">1,434</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-200">1,434</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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"/></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"/></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:8pt;font-weight:700;line-height:100%">Balance at March 31, 2024</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-18" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-201">34,266</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-202">343</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-203">335,259</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-204">763,457</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-205">3,078</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-22" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-206">3,797</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-207">155,796</ix:nonFraction>)</span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-208">940,185</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;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="display:none"/></tr></table></div><div style="margin-top:5pt;text-align:center"><span><br/></span></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:23.643%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.488%"/><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:6.659%"/><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:7.684%"/><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:7.245%"/><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:11.637%"/><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:5.488%"/><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:7.684%"/><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:10.477%"/><td style="width:0.1%"/><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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2022</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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-23" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-209">34,060</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-210">340</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-211">322,873</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-212">627,978</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-213">3,432</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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-27" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-214">3,199</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-215">125,660</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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-216">822,099</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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"/></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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-217">21,099</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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-218">21,099</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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-219">107</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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-220">107</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:400;line-height:100%">Stock compensation 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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-221">1,594</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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-222">1,594</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:400;line-height:100%">Net settlement of restricted stock units</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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-31" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="f-223">88</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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-224">1</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-225">1</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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="f-226">36</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-227">1,929</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-228">1,929</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="f-229">154</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-230">7,369</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:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-231">7,369</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"/></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:8pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-33" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-232">34,148</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-233">341</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-234">324,466</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-235">649,077</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-236">3,539</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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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:8pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-37" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-237">3,389</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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:8pt;font-weight:700;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:8pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-238">134,958</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:8pt;font-weight:700;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:8pt;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-239">835,387</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#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="display:none"/></tr></table></div><div style="margin-top:7pt;text-align:center"><span><br/></span></div><div style="margin-top:7pt;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: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><div id="i054a22af35c64b2a848d2f11411c831c_37"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(unaudited)</span></div><div id="i054a22af35c64b2a848d2f11411c831c_40"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(1)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="f-240" continuedAt="f-240-1" escape="true">BASIS OF PRESENTATION</ix:nonNumeric></span></div><ix:continuation id="f-240-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 accompanying unaudited consolidated financial statements of Gibraltar Industries, Inc. (the "Company") have been prepared by management in accordance with U.S. generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments (consisting of normal recurring adjustments) considered necessary for the fair presentation of results for the interim period have been included. The Company's operations are seasonal; for this and other reasons financial results for any interim period are not necessarily indicative of the results expected for any subsequent interim period or for the full year. The accompanying unaudited consolidated financial statements should be read in conjunction with the financial statements and notes thereto included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2023.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated balance sheet at&#160;December&#160;31, 2023&#160;has been derived from the audited financial statements at that date, but does not include all of the information and footnotes required by U.S. generally accepted accounting principles for complete financial statements.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="f-241" escape="true"><div style="margin-top:10pt;text-align:justify"><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-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated all recent Accounting Standard Updates, including those that are currently effective in or after 2024, and determined that the adoption of these pronouncements would not have a material effect on the financial position, results of operations or cash flows of the Company.  There have been no material changes from the recent accounting pronouncements previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</span></div></ix:nonNumeric></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_49"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(2)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="f-242" continuedAt="f-242-1" escape="true">ACCOUNTS RECEIVABLE, NET</ix:nonNumeric></span></div><ix:continuation id="f-242-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="f-243" continuedAt="f-243-1" escape="true"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable consisted of the following (in thousands):</span></div><div><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:56.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.952%"/><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:19.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:10pt;font-weight:700;line-height:100%">March 31, 2024</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%">December 31, 2023</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-4" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-244">194,343</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:AccountsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-245">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"/></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-4" decimals="-3" name="us-gaap:UnbilledContractsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-246">42,206</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:UnbilledContractsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-247">52,035</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 receivable</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-4" decimals="-3" name="rock:ContractsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-248">236,549</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-5" decimals="-3" name="rock:ContractsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-249">230,122</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%">Less allowance for doubtful accounts and contract 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-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-250">5,578</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:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-251">5,572</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 #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-4" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-252">230,971</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 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-5" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-253">224,550</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"/></tr></table></div></ix:nonNumeric><div style="margin-top:10pt;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 id="f-243-1"><div style="margin-top:10pt;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 roll-forward of the allowance for credit losses, for the three month period ended March&#160;31, 2024, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (in thousands):</span></div><div style="margin-top:10pt"><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:77.847%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.953%"/><td style="width:0.1%"/></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%">Beginning balance as of January 1, 2024</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-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-254">5,572</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"/></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%">Bad debt expense, net of recoveries</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:ProvisionForDoubtfulAccounts" scale="3" id="f-255">20</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%">Accounts written off against allowance and other 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%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="f-256">14</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%">Ending balance as of March 31, 2024</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-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-257">5,578</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 id="i054a22af35c64b2a848d2f11411c831c_52"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(3)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-258" continuedAt="f-258-1" escape="true">REVENUE</ix:nonNumeric></span></div><ix:continuation id="f-258-1" continuedAt="f-258-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></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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-258-2"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 13 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2024, the Company's remaining performance obligations are part of contracts that have an original expected duration of <ix:nonNumeric contextRef="c-38" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:durwordsen" id="f-259">one year</ix:nonNumeric> or less. </span></div><div style="margin-top:10pt;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 cost, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2024 and December 31, 2023 was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-260">7.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-261">3.9</ix:nonFraction>&#160;million, respectively.  Revenue recognized during the three months ended March&#160;31, 2024 and 2023 that was in contract liabilities at the beginning of the respective periods was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="f-262">27.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-5" name="rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="f-263">18.7</ix:nonFraction>&#160;million, respectively.</span></div></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_55"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(4)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryDisclosureTextBlock" id="f-264" continuedAt="f-264-1" escape="true">INVENTORIES, NET</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="f-265" escape="true"><ix:continuation id="f-264-1"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div><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:56.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.952%"/><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:19.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:10pt;font-weight:700;line-height:100%">March 31, 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%">December 31, 2023</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-4" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="f-266">84,524</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:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="f-267">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"/></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-4" decimals="-3" name="us-gaap:InventoryWorkInProcess" format="ixt:num-dot-decimal" scale="3" id="f-268">12,400</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:InventoryWorkInProcess" format="ixt:num-dot-decimal" scale="3" id="f-269">9,508</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-4" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="f-270">47,811</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:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="f-271">42,942</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 #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:InventoryGross" format="ixt:num-dot-decimal" scale="3" id="f-272">144,735</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:InventoryGross" format="ixt:num-dot-decimal" scale="3" id="f-273">129,939</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%">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-4" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-274">6,857</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:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-275">9,436</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, net</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-4" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-276">137,878</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:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-277">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"/></tr></table></div></ix:continuation></ix:nonNumeric><div id="i054a22af35c64b2a848d2f11411c831c_58"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(5)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="f-278" continuedAt="f-278-1" escape="true">ACQUISITION</ix:nonNumeric></span></div><ix:continuation id="f-278-1" continuedAt="f-278-2"><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 company 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 this acquisition was $<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="f-279">10.4</ix:nonFraction>&#160;million, which includes a working capital adjustment and certain other adjustments provided for in the asset purchase agreement.</span></div><div style="margin-top:10pt;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-40" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-280">3.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:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="f-281" escape="true"><div style="margin-top:10pt;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: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-40" decimals="-3" name="rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" scale="3" id="f-282">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-40" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" id="f-283">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-40" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-284">6,310</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-40" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" scale="3" id="f-285">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-40" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" scale="3" id="f-286">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-40" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-287">3,023</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-40" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-288">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: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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-278-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" id="f-289" 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><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-41" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" scale="3" id="f-290">250</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-41" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-291">3</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-42" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-292">6,060</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-42" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-293">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-39" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-294">6,310</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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the allocation of the purchase price to the assets acquired and liabilities assumed, the Company uses all available information to make fair value determinations using Level 3 unobservable inputs in which little or no market data exists, and therefore, engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.</span></div><div style="margin-top:10pt;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 was financed primarily through borrowings under the Company's revolving credit facility.</span></div></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_61"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(6)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="f-295" continuedAt="f-295-1" escape="true">GOODWILL AND RELATED INTANGIBLE ASSETS</ix:nonNumeric></span></div><ix:continuation id="f-295-1" continuedAt="f-295-2"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Goodwill</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfGoodwillTextBlock" id="f-296" escape="true"><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 changes in the carrying amount of goodwill for the three months ended March&#160;31, 2024 are as follows (in thousands):</span></div><div style="margin-top:5pt;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:32.576%"/><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.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.664%"/><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:12.282%"/><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.697%"/><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:9.5pt;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:9.5pt;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:9.5pt;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, 2023</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-43" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-297">184,230</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-44" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-298">213,576</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-299">83,899</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-46" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-300">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 #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:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-301">513,383</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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%">Adjustments to prior year acquisitions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-47" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-302">&#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-48" decimals="-3" sign="-" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-303">1,110</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-49" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-304">&#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-50" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-305">&#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:GoodwillPurchaseAccountingAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-306">1,110</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%">Foreign currency translation</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-47" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-307">&#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-48" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-308">&#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-49" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-309">476</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-50" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-310">&#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:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-311">476</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 March 31, 2024</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-51" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-312">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-52" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-313">212,466</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-53" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-314">83,423</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-54" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-315">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-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-316">511,797</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:10pt;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-5" decimals="-5" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" format="ixt:num-dot-decimal" scale="6" id="f-317"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" format="ixt:num-dot-decimal" scale="6" id="f-318">133.2</ix:nonFraction></ix:nonFraction>&#160;million as of March&#160;31, 2024 and December 31, 2023, respectively.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is required to regularly assess whether a triggering event has occurred which would require interim impairment testing. The Company determined that no triggering event had occurred as of March&#160;31, 2024 which would require an interim impairment test to be performed.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;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-319" escape="true"><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%">Acquired intangible assets 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:35.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><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.104%"/><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.104%"/><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.110%"/><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%">March 31, 2024</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, 2023</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:10pt;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:9.5pt;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:10pt;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:10pt;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="padding:2px 1pt;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="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"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="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:#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%">Trademarks</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-55" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-320">52,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 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-55" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-321">&#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: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-56" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-322">52,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 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-56" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-323">&#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"/></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%">Finite-lived intangible 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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Trademarks</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-57" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-324">2,550</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-57" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-325">1,611</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-58" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-326">5,773</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-58" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-327">4,714</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%">Unpatented technology</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-328">31,812</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-59" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-329">22,587</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-60" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-330">34,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-60" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-331">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="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%">Customer relationships</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:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-332">101,043</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-61" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-333">39,435</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-62" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-334">110,649</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-62" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-335">48,088</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%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:FiniteLivedIntangibleAssetsGross" scale="3" id="f-336">722</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-63" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-337">537</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-64" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-338">2,376</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-64" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-339">2,154</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"/><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 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" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-340">136,127</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" name="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-341">64,170</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-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-342">152,931</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-5" decimals="-3" name="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-343">79,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="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%">Total acquired intangible assets</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-4" decimals="-3" name="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-344">188,427</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:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-345">64,170</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="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-346">205,231</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:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-347">79,251</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="display:none"/><td colspan="3" style="display:none"/></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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-295-2"><ix:nonNumeric contextRef="c-1" name="rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" id="f-348" escape="true"><div style="margin-top:10pt;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 acquired intangible asset amortization expense for the three months ended March 31, (in thousands):</span></div><div><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.297%"/><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:14.838%"/><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"/></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: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%">2023</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"/></tr><tr><td colspan="3" 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%">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-349">2,718</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-3" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-350">2,766</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="f-351" escape="true"><div style="margin-top:10pt;text-align:justify"><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 remainder of fiscal 2024 and the next five years thereafter is estimated as follows (in thousands):</span></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 style="width:33.307%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.295%"/><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:9.295%"/><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:9.295%"/><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:9.148%"/><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:9.148%"/><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:9.152%"/><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%">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%">2029</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-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="f-352">7,926</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:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-353">10,485</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:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-354">9,897</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:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="f-355">7,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="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:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="f-356">7,281</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:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" format="ixt:num-dot-decimal" scale="3" id="f-357">7,232</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:continuation><div id="i054a22af35c64b2a848d2f11411c831c_64"></div><div style="margin-top:10pt;padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(7)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:LongTermDebtTextBlock" id="f-358" continuedAt="f-358-1" escape="true">LONG-TERM DEBT</ix:nonNumeric></span></div><ix:continuation id="f-358-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-4" decimals="-5" name="us-gaap:LongTermDebt" format="ixt:fixed-zero" scale="0" id="f-359"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:LongTermDebt" format="ixt:fixed-zero" scale="0" id="f-360">no</ix:nonFraction></ix:nonFraction> outstanding debt as of March 31, 2024 and December 31, 2023, respectively.  Unamortized debt issuance costs, included in other assets on the consolidated balance sheets, as of March 31, 2024 and December 31, 2023 were $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="6" id="f-361">1.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="6" id="f-362">1.7</ix:nonFraction>&#160;million, respectively.</span></div><div style="margin-top:10pt;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:5pt;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") which provides for a revolving credit facility and letters of credit in an aggregate amount equal to $<ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-6" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-363">400</ix:nonFraction> million. The Company can request additional financing to increase the revolving credit facility to $<ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-6" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-364">700</ix:nonFraction> million or enter into a term loan of up to $<ix:nonFraction unitRef="usd" contextRef="c-66" decimals="INF" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-365">300</ix:nonFraction> million subject to conditions set forth in the Credit Agreement. The Credit Agreement contains <ix:nonFraction unitRef="debtcovenant" contextRef="c-67" decimals="INF" name="rock:DebtInstrumentNumberOfDebtCovenants" format="ixt-sec:numwordsen" scale="0" id="f-366">two</ix:nonFraction> financial covenants.  As of March&#160;31, 2024, the Company was in compliance with all financial covenants. The Credit Agreement terminates on December 8, 2027.</span></div><div style="margin-top:10pt;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 <ix:nonFraction unitRef="number" contextRef="c-68" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-367">0</ix:nonFraction>% floor. Through March 31, 2023, the Credit Agreement had an initial applicable margin of <ix:nonFraction unitRef="number" contextRef="c-69" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-368">0.125</ix:nonFraction>% for base rate loans and <ix:nonFraction unitRef="number" contextRef="c-70" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-369">1.125</ix:nonFraction>% for SOFR and alternative currency loans. Thereafter, the applicable margin ranges from <ix:nonFraction unitRef="number" contextRef="c-71" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-370">0.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-72" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-371">1.00</ix:nonFraction>% for base rate loans and from <ix:nonFraction unitRef="number" contextRef="c-73" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-372">1.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-74" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-373">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-75" decimals="4" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-374">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-76" decimals="INF" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-375">0.20</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-77" decimals="INF" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-376">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:10pt;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:10pt;text-align:justify"><span style="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-78" decimals="-5" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-377">3.7</ix:nonFraction>&#160;million have been issued under the Credit Agreement to third parties on behalf of the Company as of March 31, 2024. These letters of credit reduce the amount otherwise available under the revolving credit facility. The Company had $<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-5" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-378">396.3</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-5" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-379">396.1</ix:nonFraction>&#160;million of availability under the revolving credit facility as of March 31, 2024 and December 31, 2023, respectively.</span></div></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_70"></div><div style="margin-top:10pt;padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(8)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="f-380" continuedAt="f-380-1" escape="true">EQUITY-BASED COMPENSATION</ix:nonNumeric></span></div><ix:continuation id="f-380-1" continuedAt="f-380-2"><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 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 includes a total of <ix:nonFraction unitRef="shares" contextRef="c-81" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-381">1,631,707</ix:nonFraction> shares available for issuance.  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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which includes <ix:nonFraction unitRef="shares" contextRef="c-82" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-382">200,000</ix:nonFraction> shares available for issuance, 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></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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-380-2"><div style="margin-top:10pt;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 Stock</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" id="f-383" escape="true"><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 following table provides the number of stock units granted during the three months ended March 31, along with the weighted-average grant-date fair value of each award:</span></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 style="width:45.459%"/><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:11.345%"/><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="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"/><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%">2024</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%">2023</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:10pt;font-weight:700;line-height:120%">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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>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:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant-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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>Awards (2)</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:120%">Weighted-<br/>Average<br/>Grant-Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">Performance stock units (1)</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-83" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-384">58,582</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:middle"/><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-83" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-385">77.70</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:middle"/><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-84" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-386">81,611</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:middle"/><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-84" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-387">53.44</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:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Restricted stock units</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-85" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-388">29,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-85" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-389">77.70</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-86" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-390">46,646</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-86" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-391">53.44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></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"/></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"/></tr></table></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%">(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-87" decimals="2" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" scale="-2" id="f-392">0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-88" decimals="2" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" scale="-2" id="f-393">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-89" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" format="ixt-sec:durwordsen" id="f-394">one-year</ix:nonNumeric> performance period.</span></div><div style="margin-top:9pt;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) PSUs granted in the first quarter of 2023 includes <ix:nonFraction unitRef="shares" contextRef="c-84" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-395">7,825</ix:nonFraction> units that were forfeited in the third quarter of 2023 and <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="0" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" format="ixt:num-dot-decimal" scale="0" id="f-396">147,572</ix:nonFraction> units that will be converted to shares and issued to recipients in the first quarter of 2026, representing <ix:nonFraction unitRef="number" contextRef="c-3" decimals="3" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" scale="-2" id="f-397">200.0</ix:nonFraction>% of the target amount granted and not subsequently forfeited, based on the Company's actual ROIC compared to ROIC target for the performance period ended December 31, 2023.</span></div></ix:nonNumeric><div style="margin-top:10pt"><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:5pt;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 &#8220;MSPP&#8221;) 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:10pt;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 contains 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-90" name="rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" format="ixt-sec:durday" id="f-398">200</ix:nonNumeric>-day average of the Company&#8217;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:10pt;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 March&#160;31, 2024 were $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-399">23.0</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-400">2.6</ix:nonFraction>&#160;million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-401">20.4</ix:nonFraction> million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-402">20.0</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-403">2.0</ix:nonFraction>&#160;million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-404">18.0</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-95" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-405">20.0</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-96" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-406">17.3</ix:nonFraction>&#160;million at March&#160;31, 2024 and December&#160;31, 2023, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" id="f-407" escape="true"><div style="margin-top:10pt;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 and the payments made with respect to MSPP liabilities during the three months ended March 31,: </span></div><div style="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:66.005%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.128%"/><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.837%"/><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%">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%">2023</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="usd" contextRef="c-90" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="0" id="f-408">40,538</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-97" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="0" id="f-409">41,743</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%">MSPP liabilities paid (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-98" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-410">2,023</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-99" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-411">2,147</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 id="i054a22af35c64b2a848d2f11411c831c_1126"></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(9)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="f-412" continuedAt="f-412-1" escape="true">PRODUCT WARRANTIES</ix:nonNumeric></span></div><ix:continuation id="f-412-1" continuedAt="f-412-2"><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 generally warrants that its products will be free from material defects in workmanship and materials. Warranty reserve estimates are based on management&#8217;s judgment, considering such factors as historical experience, anticipated rates of claims, and other available information. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates.</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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-412-2"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reserve for product warranties is presented within accrued expenses on the Company&#8217;s consolidated balance sheets. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="f-413" continuedAt="f-413-1" escape="true">Activity in the product warranties is summarized as follows (in thousands):</ix:nonNumeric></span></div><ix:continuation id="f-413-1"><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"><tr><td style="width:1.0%"/><td style="width:65.813%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.072%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.074%"/><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"/></tr><tr><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%">Three Months Ended<br/>March 31,</span></td><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="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%">2024</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%">2023</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"/></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%">Beginning balance</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-5" decimals="-3" name="us-gaap:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-414">9,139</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-6" decimals="-3" name="us-gaap:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-415">6,251</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="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%">Provisions for product warranties, net of 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-1" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease" scale="3" id="f-416">929</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-3" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease" scale="3" id="f-417">88</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"/></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-4" decimals="-3" name="us-gaap:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-418">10,068</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:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-419">6,163</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:continuation></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_73"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(10)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" id="f-420" continuedAt="f-420-1" escape="true">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS</ix:nonNumeric></span></div><ix:continuation id="f-420-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 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, the sale and exiting of less profitable businesses or product lines, and a reduction in the Company's manufacturing footprint.</span></div><div style="margin-top:10pt;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 related to moving and closing costs and severance, along with asset impairment recoveries related to the write-down of inventory and other charges associated with discontinued product lines. Additionally, the Company has incurred the aforementioned costs resulting from the sale and/or closure of facilities including costs recorded during the three months ended March&#160;31, 2023. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" id="f-421" escape="true"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the exit activity costs and asset impairment recoveries incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):</span></div><div><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:25.800%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><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.595%"/><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.595%"/><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.595%"/><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.595%"/><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.605%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended March 31,</span></td></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:10pt;font-weight:700;line-height:100%">2024</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: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 #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%">Exit Activity</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:700;line-height:100%">Asset Impairment</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:700;line-height:100%">Total</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:700;line-height:100%">Exit Activity</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:700;line-height:100%">Asset Impairment</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: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%">Renewables</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-100" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-422">269</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-100" decimals="-3" name="rock:RestructuringSettlementAndImpairmentProvisionsRecovery" format="ixt:fixed-zero" scale="3" id="f-423">&#8212;</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-100" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-424">269</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-101" decimals="-3" name="rock:BusinessExitCostsRecoveries" format="ixt:fixed-zero" scale="3" id="f-425">&#8212;</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-101" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-426">63</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: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-101" decimals="-3" sign="-" name="rock:RestructuringChargesRecoveries" scale="3" id="f-427">63</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: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-102" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-428">&#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-102" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-429">72</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-102" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-430">72</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-103" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-431">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-103" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-432">&#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-103" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-433">114</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%">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-104" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-434">138</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-104" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-435">&#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-104" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-436">138</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:BusinessExitCosts1" scale="3" id="f-437">561</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:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-438">&#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-105" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-439">561</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%">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-106" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-440">&#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-106" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-441">&#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-106" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-442">&#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-107" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-443">&#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-107" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-444">&#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-107" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-445">&#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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="rock:BusinessExitCostsRecoveries" format="ixt:fixed-zero" scale="3" id="f-446">&#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-108" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-447">&#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-108" decimals="-3" name="rock:RestructuringChargesRecoveries" format="ixt:fixed-zero" scale="3" id="f-448">&#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-109" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-449">&#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-109" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-450">&#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-109" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-451">&#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:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</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:BusinessExitCosts1" scale="3" id="f-452">407</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-1" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-453">72</ix:nonFraction>)</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-1" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-454">335</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-3" decimals="-3" name="rock:BusinessExitCostsRecoveries" scale="3" id="f-455">675</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-3" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-456">63</ix:nonFraction>)</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-3" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-457">612</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><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></table></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:25.800%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><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.595%"/><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.595%"/><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.595%"/><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.595%"/><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.605%"/><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"/><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"/><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="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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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></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%">The following table provides a summary of where the exit activity costs and asset impairment recoveries were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):</span></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 style="width:66.249%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.859%"/><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:14.860%"/><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"/></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: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%">2023</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"/></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 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-110" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-458">72</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 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-111" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-459">513</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="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%">Selling, general, and administrative 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-112" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-460">407</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-113" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-461">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="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%">Total exit activity and asset impairment charges </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:RestructuringCharges" scale="3" id="f-462">335</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-3" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-463">612</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="f-464" escape="true"><div style="margin-top:10pt;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><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.297%"/><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:14.838%"/><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%">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%">2023</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 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-5" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-465">6,725</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-6" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-466">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"/></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" scale="3" id="f-467">407</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-3" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-468">675</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" scale="3" id="f-469">553</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-3" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="f-470">1,321</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 March 31</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-4" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-471">6,579</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-7" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-472">1,771</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></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%">13</span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_76"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(11)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-473" continuedAt="f-473-1" escape="true">INCOME TAXES</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="f-474" escape="true"><ix:continuation id="f-473-1" continuedAt="f-473-2"><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 following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:</span></div><div style="margin-top:5pt;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:66.297%"/><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:14.838%"/><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"/></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: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%">2023</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"/></tr><tr><td colspan="3" 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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><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-475">8,561</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-3" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-476">7,177</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="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%">Effective tax 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-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-477">25.6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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-3" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-478">25.4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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="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></ix:nonNumeric><div style="margin-top:10pt;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-473-2">The effective tax rate for the three months ended March&#160;31, 2024 and 2023, respectively, was greater than the U.S. federal statutory rate of <ix:nonFraction unitRef="number" contextRef="c-1" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-479"><ix:nonFraction unitRef="number" contextRef="c-3" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-480">21</ix:nonFraction></ix:nonFraction>% due to state taxes and nondeductible permanent differences partially offset by favorable discrete item</ix:continuation>s due to an excess tax benefit on stock-based compensation.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_79"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(12)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-481" continuedAt="f-481-1" escape="true">EARNINGS PER SHARE</ix:nonNumeric></span></div><ix:continuation id="f-481-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-482" escape="true"><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%">Weighted average shares outstanding for basic and diluted earnings were as follows for the three months ended March 31, (in thousands):</span></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:98.538%"><tr><td style="width:1.0%"/><td style="width:65.813%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.072%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.074%"/><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"/></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: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%">2023</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"/></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%">Numerator:</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="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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">Net income available to common stockholders</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-483">24,946</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-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-484">21,099</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"/></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%">Denominator for basic earnings per share:</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="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%">Weighted average shares outstanding</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="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-485">30,572</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="shares" contextRef="c-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-486">30,897</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"/></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%">Denominator for diluted earnings per share:</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="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%">Weighted average shares outstanding</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="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-487">30,572</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="shares" contextRef="c-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-488">30,897</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"/></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-489">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="shares" contextRef="c-3" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-490">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"/><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%">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-491">30,793</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-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-492">31,024</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"/><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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="f-493" escape="true"><div style="margin-top:10pt;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 three months ended March 31, (in thousands):</span></div><div style="margin-top:5pt;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:66.297%"/><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:14.838%"/><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"/></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: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%">2023</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"/></tr><tr><td colspan="3" 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%">Common stock units </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-114" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-494">4</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-115" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-495">64</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div id="i054a22af35c64b2a848d2f11411c831c_82"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(13)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingDisclosureTextBlock" id="f-496" continuedAt="f-496-1" escape="true">SEGMENT INFORMATION</ix:nonNumeric></span></div><ix:continuation id="f-496-1" continuedAt="f-496-2"><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 is organized into <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-497">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:5pt;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 roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, 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="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii)</span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt">Agtech, which</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 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="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 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:10pt;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></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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><ix:continuation id="f-496-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="f-498" escape="true"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):</span></div><div style="text-align:center"><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:66.057%"/><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.954%"/><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"/></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: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%">2023</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"/></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%">Net sales:</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="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%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-499">51,496</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-117" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-500">59,205</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"/></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%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-501">185,111</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-502">179,495</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"/></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%"><ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-503">34,027</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-504">35,852</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"/></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%"><ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-505">21,872</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-107" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-506">18,715</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"/></tr><tr><td colspan="3" 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 net sales</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-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-507">292,506</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-3" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-508">293,267</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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="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%">Income from operations:</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="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%">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-116" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-509">1,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 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-117" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-510">2,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"/><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%">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-102" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-511">34,346</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-103" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-512">29,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="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%">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-104" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-513">2,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-105" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-514">2,330</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"/></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%">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-106" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-515">4,896</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-107" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-516">2,714</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"/></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%">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-108" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-517">11,758</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-109" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-518">7,452</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"/></tr><tr><td colspan="3" 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-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-519">31,736</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-3" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-520">29,370</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):</span></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:66.249%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.859%"/><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:14.860%"/><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:120%">March 31,<br/>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:120%">December 31,<br/>2023</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%">Total assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;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-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-118" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-521">374,137</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-119" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-522">377,694</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 13.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-120" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-523">535,077</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-121" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-524">515,739</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 13.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-122" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-525">165,488</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-123" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-526">168,213</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 13.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-124" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-527">82,176</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-125" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-528">77,518</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 13.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-126" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-529">162,979</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-127" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-530">117,287</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-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-4" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-531">1,319,857</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-5" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-532">1,256,451</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:DisaggregationOfRevenueTableTextBlock" id="f-533" 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 following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands): </span></div><div style="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:17.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.689%"/><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.689%"/><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.689%"/><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.689%"/><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:14.696%"/><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%">Three Months Ended March 31, 2024</span></td></tr><tr><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:700;line-height:100%">Renewables</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:700;line-height:100%">Residential</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:700;line-height:100%">Agtech</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:700;line-height:100%">Infrastructure</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: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="padding:2px 0 2px 1pt;text-align:left;vertical-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-128" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-534">6,789</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;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-129" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-535">183,332</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;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-130" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-536">2,339</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;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-131" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-537">6,310</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-132" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-538">198,770</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-133" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-539">44,707</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-134" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-540">1,779</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-541">31,688</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-542">15,562</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-137" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-543">93,736</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 net sales</span></td><td style="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="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-138" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-544">51,496</ix:nonFraction>&#160;</span></td><td style="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:#ffffff;padding:0 1pt"/><td style="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="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-48" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-545">185,111</ix:nonFraction>&#160;</span></td><td style="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:#ffffff;padding:0 1pt"/><td style="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="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-49" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-546">34,027</ix:nonFraction>&#160;</span></td><td style="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:#ffffff;padding:0 1pt"/><td style="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="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-50" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-547">21,872</ix:nonFraction>&#160;</span></td><td style="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="padding:0 1pt"/><td style="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="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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-548">292,506</ix:nonFraction>&#160;</span></td><td style="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 style="margin-top:5pt;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:17.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.689%"/><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.689%"/><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.689%"/><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.689%"/><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:14.696%"/><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%">Three Months Ended March 31, 2023</span></td></tr><tr><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:700;line-height:100%">Renewables</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:700;line-height:100%">Residential</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:700;line-height:100%">Agtech</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:700;line-height:100%">Infrastructure</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: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-139" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-549">9,094</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-140" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-550">177,942</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-141" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-551">5,107</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-142" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-552">6,061</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-143" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-553">198,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 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-144" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-554">50,111</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-145" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-555">1,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-556">30,745</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-557">12,654</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-148" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-558">95,063</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 net sales</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-149" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-559">59,205</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-150" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-560">179,495</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-151" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-561">35,852</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-152" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-562">18,715</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-3" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-563">293,267</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:continuation><div style="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:17.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.689%"/><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.689%"/><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.689%"/><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.689%"/><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:14.696%"/><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"/><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"/><td colspan="3" style="padding:0 1pt"/></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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></tr></table><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:17.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.689%"/><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.689%"/><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.689%"/><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.689%"/><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:14.696%"/><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"/><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"/><td colspan="3" style="padding:0 1pt"/></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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"/></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%">15</span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;2. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="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%">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;anticipates,&#8221; &#8220;aspires,&#8221; &#8220;expects,&#8221; &#8220;estimates,&#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, margins, integration of acquired businesses, the industries in which we operate and the expected impact of evolving laws and regulation. 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 the &#8220;Risk Factors&#8221; disclosures in our most recent Annual Report on Form 10-K. 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, liquidity and the development of the industries 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, liquidity, and the development of the industries in which we operate are consistent with the forward-looking statements contained in this Quarterly Report on Form 10-Q, 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 style="margin-top:10pt;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 the Company's businesses, set operational goals, and establish performance targets for incentive compensation for the Company's 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 consolidated gross margin and operating margin by segment may be useful to investors in evaluating the profitability of the Company's segments and the Company on a consolidated basis.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_88"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview </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%">Gibraltar Industries, Inc. (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:10pt;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:10pt;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, wholesalers, distributors, and contractors. The Company's operational infrastructure provides the necessary scale to</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">support local, regional, and national customers in each of its markets.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2024, the Company operated thirty facilities, comprised of twenty-three manufacturing facilities, one distribution center, and six offices, which are located in sixteen states, Canada, and China.  The Company's operational infrastructure provides the necessary scale to support local, regional, and national customers in each of the Company's 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%">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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Trends</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </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%">The effect on the Company's customers in the Renewables business due to the trade related disruption in the supply of solar modules from the impacts of the Uyghur Forced Labor Prevention Act ("UFLPA") and the Department of Commerce's ("USDOC") anti-dumping and countervailing duties ("AD/CVD") investigation, both initiated in 2022, continues to diminish. These customers have continued to adapt to the ongoing disruption in this space and have identified alternative sources for modules not impacted by these regulatory items that require either traceability of components imported and/or potentially impose tariffs on the modules. However, some of these customers continue to pause on executing new renewable energy projects while they are awaiting final guidance from the Department of Treasury relative to rules under the Inflation Reduction Act (IRA) in order to maximize tax incentives. Furthermore, a continued challenge to manage project specific permitting delays from relevant government entities to build new solar fields has also affected the execution of new renewable energy projects. The Company believes that these dynamics will continue throughout 2024.  </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 24, 2024, a new petition was filed with the USDOC claiming potentially illegal trade practices with Cambodia, Malaysia, Thailand and Vietnam, the same four countries named in the 2022 AD/CVD case. The USDOC has 20 days to determine whether to initiate an investigation on the matter.</span></div><div style="margin-top:5pt;text-align:justify"><span><br/></span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Business Strategy </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%">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:7pt;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:7pt;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="margin-top:7pt;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's 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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company believes the key elements of the Company's strategy enable the Company to respond timely to changes in the end markets the Company serves, including the broader market dynamics experienced over the past few years. The Company continues to examine the need for restructuring of the Company's operations, including consolidation of facilities, reducing overhead costs, curtailing investments in working capital, and managing the Company's business to generate incremental cash. The Company believes its strategy enables the Company to respond to volatility in commodity and other input costs and fluctuations in customer demand, along with striving to maintain and improve margins. The Company has used cash flows generated by these initiatives to improve the Company's liquidity position, invest in growth initiatives and return capital to the Company's shareholders through share repurchases. Overall, the Company continues to strive to achieve stronger financial results, make more efficient use of capital, and deliver higher stockholder returns.</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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;text-align:justify"><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:5pt;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:10pt;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="text-align:justify"><span><br/></span></div><div id="i054a22af35c64b2a848d2f11411c831c_91"></div><div style="margin-top:10pt"><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:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Three Months Ended March&#160;31, 2024 Compared to the Three Months Ended March&#160;31, 2023  </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%">The following table sets forth selected results of operations data and its percentage of net sales for the three months ended March 31 (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: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="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%">2024</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%">2023</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%">292,506&#160;</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%">293,267&#160;</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%">208,118&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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%">216,338&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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></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%">84,388&#160;</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%">28.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><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%">76,929&#160;</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.2&#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%">52,652&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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%">47,559&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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></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 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:#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%">31,736&#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 #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 #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%">29,370&#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 #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.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%">Interest (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%">(750)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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)</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,491&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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&#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%">Other income</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,021)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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.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%">(397)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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:#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 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:#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%">33,507&#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%">11.5&#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%">28,276&#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.6&#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%">Provision for 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%">8,561&#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.0&#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%">7,177&#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.4&#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"/></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 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-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span 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%">24,946&#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="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%">8.5&#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%">21,099&#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="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%">7.2&#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></tr></table></div><div style="margin-top:10pt;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 three months ended March 31, (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:25.508%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><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.034%"/><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.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: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:11.034%"/><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.872%"/><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: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="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%">Impact of </span></td></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%">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%">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%">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:700;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:700;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:700;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 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:#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%">51,496&#160;</span></td><td style="background-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%">59,205&#160;</span></td><td style="background-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%">(7,709)</span></td><td style="background-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%">(1,950)</span></td><td style="background-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%">(5,759)</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%">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%">185,111&#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%">179,495&#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%">5,616&#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,287&#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%">4,329&#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%">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%">34,027&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,852&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,825)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,514)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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&#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%">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%">21,872&#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%">18,715&#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,157&#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%">3,157&#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%">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%">292,506&#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%">293,267&#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%">(761)</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,287&#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,464)</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%">2,416&#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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consolidated net sales were essentially flat for the three months ended March&#160;31, 2024 compared to the three months ended March&#160;31, 2023, the net result of a slight increase in pricing to customers offset by a decrease due to portfolio management activities in the prior year. Growth in the Company's Residential and Infrastructure segments, along with revenue of $1.3 million generated from a recent acquisition, was more than offset by $4.5 million of sales related to portfolio management along with an anticipated decline in revenue in the Company's Renewables segment. Consolidated backlog decreased 3% to $340 million, as compared to the end of the prior year quarter.</span></div><div style="margin-top:10pt;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 Company's Renewables segment decreased $7.7 million, or 13.0%, to $51.5 million for the three months ended March&#160;31, 2024 compared to $59.2 million for the three months ended March&#160;31, 2023. Revenue declined due to the rapid customer transition to a recently launched tracker product, which currently has a longer supply lead time than fixed tilt products which largely comprised the demand for prior year quarter's orders and revenues. Portfolio management activities related to the sale of the segment's Japan renewables business in December 2023 also contributed to the decline. Backlog increased 8% from the prior year, on pace with expectations, as end market demand remains robust even as customers await final domestic content tax credit guidance related to the Inflation Reduction Act and navigate project-specific permitting delays.</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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;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 Company's Residential segment increased $5.6 million, or 3.1%, to $185.1 million for the three months ended March&#160;31, 2024 compared to $179.5 million for the three months ended March&#160;31, 2023.  Organic growth of 2.4% was driven by continuing participation gains, growth with customers and geographic expansion. In addition, $1.3 million of revenue was generated by the recent acquisition. </span></div><div style="margin-top:10pt;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 Company's Agtech segment decreased 5.3%, or $1.8 million, to $34.0 million for the three months ended March&#160;31, 2024 compared to $35.9 million for the three months ended March&#160;31, 2023.  The revenue declined due to $2.5 million of revenues recorded in the prior year related to portfolio management actions which were partially offset by a slight increase in volume. While backlog decreased 21% year over year due to timing of order flow, subsequent project bookings in April will contribute to backlog and revenue in the coming months.</span></div><div style="margin-top:10pt;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 Company's Infrastructure segment increased 17.1%, or $3.2 million, to $21.9 million for the three months ended March&#160;31, 2024 compared to $18.7 million for the three months ended March&#160;31, 2023.  The increase in revenue was due to strong execution, continued solid end market demand and market participation gains.  Backlog decreased 10% as expected from the prior year due to the continued progress on a large project, while demand, project design and quoting remain strong.</span></div><div style="margin-top:10pt;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 28.9% for the three months ended March&#160;31, 2024 compared to 26.2% for the three months ended March&#160;31, 2023. The increase was driven by improved price to material cost alignment, and continued operational efficiencies, along with 80/20 initiatives and favorable business and product mix. </span></div><div style="margin-top:10pt;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 $5.1 million, or 10.7% to $52.7 million for the three months ended March&#160;31, 2024 compared to $47.6 million for the three months ended March&#160;31, 2023. The $5.1 million increase was primarily due to higher performance-based compensation expense as compared to the prior year quarter. SG&amp;A expenses as a percentage of net sales increased to 18.1% for the three months ended March&#160;31, 2024 compared to 16.2% for the three months ended March&#160;31, 2023.</span></div><div style="margin-top:10pt;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 three months ended March 31, (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:46.122%"/><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:6.648%"/><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.595%"/><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:6.648%"/><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.018%"/><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><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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: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%">2024</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%">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%">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"/><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%">Income from operations:</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: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;border-top:1pt solid #000000;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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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: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%">1,644&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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 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,269&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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 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%">(625)</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 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%">34,346&#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%">18.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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,509&#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%">16.4&#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,837&#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 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%">2,608&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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%">2,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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%">278&#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 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%">4,896&#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%">22.4&#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%">2,714&#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%">14.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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,182&#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 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%">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%">(11,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,452)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.5)</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%">(4,306)</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:10pt;font-weight:400;line-height:100%">Consolidated income from 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%">31,736&#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%">10.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 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,370&#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%">10.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%">2,366&#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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:10pt;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 3.2% in the current year quarter compared to 3.8% in the prior year quarter. The decrease in operating margin was a result of lower volumes and product line mix associated with the ramp up of the new tracker product line in the current year quarter.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Residential segment generated an operating margin of 18.6% in the current year quarter compared to 16.4% in the prior year quarter. Operating margin improved year over year, driven by continued improvement in execution and ongoing improvement in price/cost management. </span></div><div style="margin-top:10pt;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 7.7% in the current year quarter compared to 6.5% in the prior year quarter. Operating margin improved year over year due to the impact of restructuring costs incurred in the prior year partially offset by project start date delays and market and product mix across the segment.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Infrastructure segment generated an operating margin of 22.4% during the three months ended March&#160;31, 2024 compared to 14.5% during the three months ended March&#160;31, 2023. The margin improved year over year driven by increased volume, favorable price/cost alignment, ongoing strong operating execution, 80/20 productivity, and improving product mix.</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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;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 $4.3 million from $7.5 million during the three months ended March&#160;31, 2023 to $11.8 million during the three months ended March&#160;31, 2024. The increase in expense was primarily the result of higher performance-based compensation expense as compared to the prior year quarter.  </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded interest income of $0.8 million for the three months ended March&#160;31, 2024, compared to interest expense of $1.5 million for the three months ended March&#160;31, 2023. Expense in the prior year quarter was the result of a $49.9 million outstanding balance on the Company's revolving credit facility as of March 31, 2023, while no amounts were outstanding during the three months ended March 31, 2024.  </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income increased year over year with $1.0 million recorded for the three months ended March&#160;31, 2024, compared to $0.4 million recorded for the three months ended March&#160;31, 2023.  The change year over year is the combined result of $1.0 million of working capital and other adjustments recorded in the current year quarter, relating to the sale of the Company's Japan-based solar racking business within its Renewables segment and foreign currency translation fluctuations.  </span></div><div style="margin-top:10pt;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 $8.6 million and $7.2 million, with effective tax rates of 25.6% and 25.4% for the three months ended March&#160;31, 2024, and 2023, respectively.  The effective tax rate for the three months ended March&#160;31, 2024, and 2023, respectively, was greater than 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="i054a22af35c64b2a848d2f11411c831c_94"></div><div style="margin-top:10pt"><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:5pt;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: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 style="width:55.268%"/><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:19.983%"/><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:19.985%"/><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%">March 31, 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%">December 31, 2023</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%">146,665&#160;</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%">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"/></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,257&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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"/></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%">542,922&#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%">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"/></tr></table></div><div style="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%">Sources of Liquidity</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%">The Company's primary sources of liquidity are comprised of cash on hand and its available borrowing capacity provided under the Company's Credit Agreement (the "Credit Agreement"). The Credit Agreement provides for a revolving credit facility and letters of credit in an aggregate amount equal to $400 million and terminates on December 8, 2027. 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. See Note 7 to the Company's consolidated financial statements in Part I, Item 1, Financial Statements, of this Quarterly Report on Form 10-Q for further information on the Credit Agreement.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 March 31, 2024 and December 31, 2023, the Company's foreign subsidiaries held $4.7 million and $6.9 million of cash, respectively.</span></div><div style="margin-top:10pt;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 these sources, together with cash expected to be generated from operations, should provide the Company with ample liquidity and capital resources to meet its cash requirements and to continue to invest in operational excellence, growth initiatives and the development of the organization.</span></div><div style="margin-top:10pt;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:5pt;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 under the Company's current authorized program ending May 2, 2025. 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.</span></div><div style="margin-top:10pt;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 </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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Credit Agreement, new debt financing, the issuance of equity securities, or any combination of the aforementioned.</span></div><div style="margin-top:10pt;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.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except as disclosed above, there have been no material changes in the Company's cash requirements since December 31, 2023, the end of fiscal year 2023. See Part II, Item 7 "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, 2023.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash Flows</span></div><div style="margin-top:5pt"><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 three months ended March 31, (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.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><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.545%"/><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%">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%">2023</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:100%">Cash provided by (used in):</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"/></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%">Operating activities</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%">53,181&#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%">38,045&#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%">Investing 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%">(4,366)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,636)</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%">Financing 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%">(1,434)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,509)</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 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 foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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)</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 increase (decrease) in cash and cash equivalents</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%">47,239&#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%">(10,111)</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:10pt;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:5pt;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 the three months ended March 31, 2024 of $53.2 million consisted of net income of $24.9 million, non-cash net charges totaling $11.0 million, which include depreciation, amortization, stock-based compensation, exit activity recoveries and other non-cash charges, and $17.3 million of cash generated from working capital and other net operating assets. The cash generated from working capital and other net operating assets was largely due to increases in accounts payable, the result of the timing of purchases and vendor payments, partially offset by investment in inventory to align with anticipated seasonal sales volumes increases.</span></div><div style="margin-top:10pt;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 the three months ended March 31, 2023 of $38.0 million consisted of net income of $21.1 million, non-cash net charges totaling $9.3 million, which include depreciation, amortization, stock-based compensation, exit activity recoveries and other non-cash charges, and $7.6 million of cash generated from working capital and other net assets. The cash generated from working capital and other net assets was due to an increase in accounts payable as a result of the timing of purchases and vendor payments, offset by an increase in accounts receivable as revenues increased in the latter part of the quarter.</span></div><div style="margin-top:10pt;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:5pt;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 the three months ended March 31, 2024 of $4.4 million consisted of net capital expenditures.</span></div><div style="margin-top:10pt;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 the three months ended March 31, 2023 of $1.6 million was primarily due to capital expenditures of $2.2 million, offset by receipt of the $0.6 million final working capital settlement resulting from the 2022 acquisition of QAP.</span></div><div style="margin-top:10pt;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:5pt;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 the three months ended March 31, 2024 of $1.4 million consisted of common stock repurchases related to the net settlement of tax obligations for participants in the Company's equity incentive plans.</span></div><div style="margin-top:10pt;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 the three months ended March 31, 2023 of $46.5 million consisted of net long-term debt payments of $39.0 million and $7.5 million of common stock repurchases. Net long-term debt payments consisted of $50.0 million in long-term debt payments, offset by $11.0 million in proceeds from borrowing on the Company's long-term debt credit facility. The Company repurchased 153,537 shares under the Company's </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><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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">authorized share repurchase program which totaled $5.6 million paid during the three months ended March 31, 2023 with the balance repurchased common stock of $1.9 million related to the net settlement of tax obligations for participants in the Company's equity incentive plans.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_97"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Critical Accounting Estimates</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%">There have been no material changes to the Company's critical accounting estimates during the three months ended March 31, 2024 from those disclosed in the consolidated financial statements and accompanying notes contained in the Company's Annual Report on Form 10-K for the year ended December&#160;31, 2023. </span></div><div id="i054a22af35c64b2a848d2f11411c831c_100"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Recent Accounting Pronouncements</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%">See Note 1 to the Company's consolidated financial statements in Part I, Item 1 of this Quarterly Report on Form 10-Q for further information on recent accounting pronouncements.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_103"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Quantitative and Qualitative Disclosures About Market Risk</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%">In the ordinary course of business, the Company is exposed to various market risk factors, including changes in general economic conditions, competition, interest rates, foreign exchange rates, and raw materials pricing and availability. In addition, the Company is exposed to other financial market risks, primarily related to its foreign operations. In the current year, there have been no material changes in the information provided under Item 7A in the Company's Annual Report on Form 10-K for the year ended December&#160;31, 2023.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_106"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Controls and Procedures</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt;padding-left:58.5pt;text-indent:-58.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:46.28pt">Evaluation of Disclosure Controls and Procedures</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%">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, as amended). 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. 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, as amended, 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><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:10pt;padding-left:58.5pt;text-indent:-58.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:46.28pt">Changes in Internal Control over Financial Reporting</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%">The Company implemented a new Enterprise Resource Planning (&#8220;ERP&#8221;) system for one of the Company's operating units in the Residential segment during the quarter ended March 31, 2024. 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) or 15d-15(f) under the Securities Exchange Act of 1934, as amended) that occurred during the period covered by this Quarterly Report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_109"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PART II. OTHER INFORMATION</span></div><div id="i054a22af35c64b2a848d2f11411c831c_112"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;1. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Legal Proceedings</span></div><div style="margin-top:5pt;text-align:justify"><span style="background-color:#ffffff;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="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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material legal proceedings terminated, settled, or otherwise resolved during the quarter ended March 31, 2024.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_115"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;1A. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Risk Factors</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%">In addition to the other information set forth in this report, you should carefully consider the risks discussed in &#8220;Part I, Item&#160;1A. Risk Factors&#8221; in the Company's Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2023.  These risks and uncertainties have the potential to materially affect the Company's business, financial condition, results of operation, cash flows, and future prospects. Additional risks and uncertainties not currently known to the Company or that the Company currently deems immaterial may materially adversely impact the Company's business, financial condition, or operating results. During the quarter ended March 31, 2024, there have been no material changes from the risk factors previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</span></div><div id="i054a22af35c64b2a848d2f11411c831c_118"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;2. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Unregistered Sales of Equity Securities and Use of Proceeds</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%">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:10pt;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 March 31, 2024 and the dollar value of shares that may yet be purchased under the program was $88,943,472.</span></div><div style="margin-top:10pt;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="i054a22af35c64b2a848d2f11411c831c_121"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;3. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Defaults Upon Senior Securities</span></div><div style="margin-top:5pt;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 id="i054a22af35c64b2a848d2f11411c831c_124"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;4. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Mine Safety Disclosures</span></div><div style="margin-top:5pt;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 id="i054a22af35c64b2a848d2f11411c831c_127"></div><div style="margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;5. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Other Information</span></div><div style="margin-top:5pt;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%">23</span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_130"></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:700;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_7">Table of Contents</a></span></div></div><div style="-sec-extract:summary;margin-top:25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Item&#160;6. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Exhibits</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:2.565%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.870%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:85.265%"/><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:top"><div style="text-align:center"><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: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%">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><td colspan="3" style="padding:0 1pt"/><td colspan="3" 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: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/000091256222000049/exhibit31amendedandrestate.htm">3.2</a></span></div></td><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 3.1 to the Company&#8217;s Current Report on Form 8-K/A filed on December 9, 2022)</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" 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: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="q12024exhibit311.htm">31.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: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 Chairman of the Board, President and Chief Executive Officer pursuant to Section&#160;302 of the Sarbanes&#8211;Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" 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: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="q12024exhibit312.htm">31.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: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&#8211;Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" 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: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="q12024exhibit321.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: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 the Chairman of the Board, 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&#8211;Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" 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: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="q12024exhibit322.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: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 the 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&#8211;Oxley Act of 2002.</span></td></tr><tr><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:400;line-height:100%">101.INS*</span></td><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><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:400;line-height:100%">101.SCH*</span></td><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><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:400;line-height:100%">101.CAL*</span></td><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><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:400;line-height:100%">101.LAB*</span></td><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><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:400;line-height:100%">101.PRE*</span></td><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 Presentation Linkbase Document</span></td></tr><tr><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:400;line-height:100%">101.DEF*</span></td><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 Definition Linkbase Document</span></td></tr><tr><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:400;line-height:100%">104</span></td><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></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:0.1%"/><td style="width:2.577%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:96.123%"/><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:400;line-height:100%">*</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%">Submitted electronically with this Quarterly Report on Form 10-Q.</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:100%">**</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%">Documents are furnished not filed herewith.</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%">24</span></div></div></div><div id="i054a22af35c64b2a848d2f11411c831c_133"></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:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i054a22af35c64b2a848d2f11411c831c_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%;text-decoration:underline">SIGNATURES</span></div><div style="margin-top:10pt;text-align:justify"><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, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div style="text-align:right"><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;text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:39.181%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">GIBRALTAR INDUSTRIES, INC.</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%">(Registrant)</span></td></tr></table></div><div style="text-align:right"><span><br/></span></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:39.181%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><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%">/s/ William T. Bosway</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%">William T. Bosway</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:10pt;font-weight:400;line-height:120%">Chairman of the Board, President and Chief Executive Officer</span></td></tr></table></div><div><span><br/></span></div><div style="text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:39.181%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><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%">/s/ Timothy F. Murphy</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%">Timothy F. Murphy</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:10pt;font-weight:400;line-height:120%">Senior Vice President and<br/>Chief Financial Officer</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%">Date: May&#160;1, 2024 </span></div><div style="text-align:center"><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%">25</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>q12024exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="iad3fe9c329e041f682c2610329d632f0_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><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;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, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;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 Quarterly Report on Form 10-Q of Gibraltar Industries, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;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-align:justify;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-align:justify;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 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-align:justify;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-align:justify;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-align:justify;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-align:justify;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-align:justify;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 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-align:justify;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-align:justify;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:100.000%"><tr><td style="width:1.0%"></td><td style="width:5.917%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.882%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:38.666%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.135%"></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%">May 1, 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:120%">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:120%">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>3
<FILENAME>q12024exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="ibbeec270c3ba4fbd816b9fcf6f02775b_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><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;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, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;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 Quarterly Report on Form 10-Q of Gibraltar Industries, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;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-align:justify;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-align:justify;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 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-align:justify;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-align:justify;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-align:justify;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-align:justify;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-align:justify;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 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-align:justify;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-align:justify;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.707%"><tr><td style="width:1.0%"></td><td style="width:7.111%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.468%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:38.782%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.239%"></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="6" 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%">May 1, 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%">&#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:120%">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>4
<FILENAME>q12024exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i502cd23118114b4cb05d01bca9998487_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><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 Quarterly Report on Form 10-Q of the Company for the quarter ended March&#160;31, 2024 (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:120%">Chairman of the Board, President and Chief Executive 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%">May 1, 2024</font></td></tr></table></div><div style="margin-top:7pt;text-align:justify"><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>5
<FILENAME>q12024exhibit322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i0c58360c60604a7ba054fa8545c9caf0_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><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 Quarterly Report on Form 10-Q of the Company for the quarter ended March&#160;31, 2024 (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 style="text-align:justify"><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; 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:24pt"><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:120%">Senior Vice President and <br>Chief Financial Officer</font></td></tr><tr style="height:9pt"><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%">May 1, 2024</font></td></tr></table></div><div style="margin-top:7pt;text-align:justify"><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-101.SCH
<SEQUENCE>6
<FILENAME>rock-20240331.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:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:rock="http://www.gibraltar1.com/20240331" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.gibraltar1.com/20240331">
  <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-20240331_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-20240331_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-20240331_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-20240331_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="ConsolidatedStatementsofIncome" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome">
        <link:definition>0000002 - 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>0000003 - 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>0000004 - 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>0000005 - 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>0000006 - 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="ConsolidatedStatementofStockholdersEquity" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity">
        <link:definition>0000007 - Statement - Consolidated Statement 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="ProductWarranties" roleURI="http://www.gibraltar1.com/role/ProductWarranties">
        <link:definition>0000008 - Disclosure - Product Warranties</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="BasisOfPresentation" roleURI="http://www.gibraltar1.com/role/BasisOfPresentation">
        <link:definition>0000009 - Disclosure - Basis Of Presentation</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="AccountsReceivableNet" roleURI="http://www.gibraltar1.com/role/AccountsReceivableNet">
        <link:definition>0000010 - Disclosure - Accounts Receivable, 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="Revenue" roleURI="http://www.gibraltar1.com/role/Revenue">
        <link:definition>0000011 - Disclosure - Revenue</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>0000012 - 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="Acquisition" roleURI="http://www.gibraltar1.com/role/Acquisition">
        <link:definition>0000013 - Disclosure - Acquisition</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>0000014 - 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="LongTermDebt" roleURI="http://www.gibraltar1.com/role/LongTermDebt">
        <link:definition>0000015 - Disclosure - Long-Term 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="EquityBasedCompensation" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensation">
        <link:definition>0000016 - 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="ExitActivityCostsandAssetImpairments" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments">
        <link:definition>0000017 - 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>0000018 - 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>0000019 - 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="SegmentInformation" roleURI="http://www.gibraltar1.com/role/SegmentInformation">
        <link:definition>0000020 - 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="BasisOfPresentationPolicies" roleURI="http://www.gibraltar1.com/role/BasisOfPresentationPolicies">
        <link:definition>9954471 - Disclosure - Basis Of Presentation (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="ProductWarrantiesTables" roleURI="http://www.gibraltar1.com/role/ProductWarrantiesTables">
        <link:definition>9954472 - Disclosure - Product Warranties (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="AccountsReceivableNetTables" roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetTables">
        <link:definition>9954473 - Disclosure - Accounts Receivable, 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="InventoriesNetTables" roleURI="http://www.gibraltar1.com/role/InventoriesNetTables">
        <link:definition>9954474 - 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="AcquisitionTables" roleURI="http://www.gibraltar1.com/role/AcquisitionTables">
        <link:definition>9954475 - Disclosure - Acquisition (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>9954476 - 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="EquityBasedCompensationTables" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationTables">
        <link:definition>9954477 - 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>9954478 - 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>9954479 - 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>9954480 - 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="SegmentInformationTables" roleURI="http://www.gibraltar1.com/role/SegmentInformationTables">
        <link:definition>9954481 - 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="ProductWarrantiesDetails" roleURI="http://www.gibraltar1.com/role/ProductWarrantiesDetails">
        <link:definition>9954482 - Disclosure - Product Warranties (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="AccountsReceivableNetScheduleofReceivablesDetails" roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails">
        <link:definition>9954483 - Disclosure - Accounts Receivable, Net (Schedule of Receivables) (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="AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails" roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails">
        <link:definition>9954484 - Disclosure - Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (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>9954485 - 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="RevenueNarrativeDetails_1" roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails_1">
        <link:definition>9954485 - 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="InventoriesNetDetails" roleURI="http://www.gibraltar1.com/role/InventoriesNetDetails">
        <link:definition>9954486 - Disclosure - Inventories, 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="AcquisitionNarrativeDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionNarrativeDetails">
        <link:definition>9954487 - Disclosure - Acquisition (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="AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails">
        <link:definition>9954488 - Disclosure - Acquisition (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="AcquisitionScheduleofAcquiredIntangibleAssetsDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails">
        <link:definition>9954489 - Disclosure - Acquisition (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="GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails">
        <link:definition>9954490 - 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="GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails">
        <link:definition>9954491 - Disclosure - Goodwill and Related Intangible Assets - Additional Information (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>9954492 - 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="GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails">
        <link:definition>9954493 - 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="GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1">
        <link:definition>9954494 - 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="LongTermDebtNarrativeDetails" roleURI="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails">
        <link:definition>9954495 - Disclosure - Long-Term 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="EquityBasedCompensationIncentivePlanDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails">
        <link:definition>9954496 - Disclosure - Equity-Based Compensation (Incentive 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="EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails">
        <link:definition>9954497 - 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="EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails">
        <link:definition>9954498 - Disclosure - Equity-Based Compensation (Equity Based Awards - Settled in Cash) (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="ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails">
        <link:definition>9954499 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments by Segment) (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="ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails">
        <link:definition>9954500 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments) (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>9954501 - 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="IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails">
        <link:definition>9954502 - Disclosure - Income Taxes (Provision For Income Taxes For 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="IncomeTaxesNarrativeDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>9954503 - 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="EarningsperShareDetails" roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails">
        <link:definition>9954504 - Disclosure - 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="SegmentInformationDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationDetails">
        <link:definition>9954505 - Disclosure - Segment Information (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="SegmentInformationDisaggregationofRevenueDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails">
        <link:definition>9954506 - Disclosure - Segment Information - Disaggregation of Revenue (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_DebtInstrumentApplicableRatePeriodDomain" abstract="true" name="DebtInstrumentApplicableRatePeriodDomain" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_RestructuringSettlementAndImpairmentProvisionsRecovery" abstract="false" name="RestructuringSettlementAndImpairmentProvisionsRecovery" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <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_A2018PlanMember" abstract="true" name="A2018PlanMember" 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_SeniorCreditAgreementMember" abstract="false" name="SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <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_DebtInstrumentNumberOfDebtCovenants" abstract="false" name="DebtInstrumentNumberOfDebtCovenants" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_BusinessExitCostsRecoveries" abstract="false" name="BusinessExitCostsRecoveries" nillable="true" xbrli:periodType="duration" 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_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <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_ApplicableRatePeriod1Member" abstract="true" name="ApplicableRatePeriod1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ResidentialProductsMember" abstract="false" name="ResidentialProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1: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_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" abstract="true" name="SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" 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_SecuredOvernightFinancingRateSOFRMember" abstract="true" name="SecuredOvernightFinancingRateSOFRMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_NoncashProjectAbandonmentCostsReversalOfCosts" abstract="false" name="NoncashProjectAbandonmentCostsReversalOfCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_RestructuringChargesRecoveries" abstract="false" name="RestructuringChargesRecoveries" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" abstract="false" name="ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" 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_DebtInstrumentApplicableRatePeriodAxis" abstract="true" name="DebtInstrumentApplicableRatePeriodAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <xs:element id="rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" abstract="false" name="ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <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_PrivatelyHeldUtahBasedCompanyMember" abstract="true" name="PrivatelyHeldUtahBasedCompanyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types: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_NonEmployeeDirectorsPlanMember" abstract="true" name="NonEmployeeDirectorsPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <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_ApplicableRatePeriod2Member" abstract="true" name="ApplicableRatePeriod2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ForeignCurrencyRateFloorMember" abstract="true" name="ForeignCurrencyRateFloorMember" 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_A2019SeniorCreditAgreementMember" abstract="true" name="A2019SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" 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_NonCurrentLiabilitiesMember" abstract="true" name="NonCurrentLiabilitiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <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_RenewableEnergyandConservationMember" abstract="true" name="RenewableEnergyandConservationMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>rock-20240331_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:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd-->
<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-20240331.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_2ff57f64-3d3c-4945-aff4-2d34728cb427" 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_3ea3acbd-d7ad-43a5-a32c-8fd4b5a2d3ac" 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_2ff57f64-3d3c-4945-aff4-2d34728cb427" xlink:to="loc_us-gaap_GrossProfit_3ea3acbd-d7ad-43a5-a32c-8fd4b5a2d3ac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_dcbb556b-1a6f-440e-a276-d5d57794d930" 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_2ff57f64-3d3c-4945-aff4-2d34728cb427" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_dcbb556b-1a6f-440e-a276-d5d57794d930" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_71b13ca3-e372-4c88-91fb-10113203cce8" 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_e92f087f-855b-45fc-af5a-b590604a1870" 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_71b13ca3-e372-4c88-91fb-10113203cce8" xlink:to="loc_us-gaap_Revenues_e92f087f-855b-45fc-af5a-b590604a1870" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_684a1e04-293f-454a-ba0c-90d56cae0e04" 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_71b13ca3-e372-4c88-91fb-10113203cce8" xlink:to="loc_us-gaap_CostOfRevenue_684a1e04-293f-454a-ba0c-90d56cae0e04" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_2e937a13-a84f-4a62-b5ef-3eb74df3ad25" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3792bb46-57d3-4b31-be47-cedd91b844be" 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_NetIncomeLoss_2e937a13-a84f-4a62-b5ef-3eb74df3ad25" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3792bb46-57d3-4b31-be47-cedd91b844be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_a60f6bee-6ec8-434f-92c5-0749143678ca" 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_NetIncomeLoss_2e937a13-a84f-4a62-b5ef-3eb74df3ad25" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_a60f6bee-6ec8-434f-92c5-0749143678ca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_306fcf54-a184-4bef-b014-55039fb223f5" 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_1a4f4383-5ff6-4c3c-9110-9a4dc5a4eecc" 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_306fcf54-a184-4bef-b014-55039fb223f5" xlink:to="loc_us-gaap_OperatingIncomeLoss_1a4f4383-5ff6-4c3c-9110-9a4dc5a4eecc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_5813d633-24b6-4ca5-ab79-b28c82757954" 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_306fcf54-a184-4bef-b014-55039fb223f5" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_5813d633-24b6-4ca5-ab79-b28c82757954" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_9cfb55ec-5775-46a8-9a6f-5daa72baeebd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_306fcf54-a184-4bef-b014-55039fb223f5" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_9cfb55ec-5775-46a8-9a6f-5daa72baeebd" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="rock-20240331.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_ComprehensiveIncomeNetOfTax_b8ba85db-e056-4700-b13a-33d6205857ba" 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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6431a722-a547-4660-be06-d7cde6de4d4e" 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_ComprehensiveIncomeNetOfTax_b8ba85db-e056-4700-b13a-33d6205857ba" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6431a722-a547-4660-be06-d7cde6de4d4e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_589bc112-62f2-4c73-950d-f92b4bf51588" 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_b8ba85db-e056-4700-b13a-33d6205857ba" xlink:to="loc_us-gaap_NetIncomeLoss_589bc112-62f2-4c73-950d-f92b4bf51588" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="rock-20240331.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_Assets_59f82caf-330d-45e4-8aed-515b704d0b23" 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_1276cfa8-f5cd-46bd-a774-699d1ea7a03c" 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_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_AssetsCurrent_1276cfa8-f5cd-46bd-a774-699d1ea7a03c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_6ec7cfbb-0409-4524-9b56-bc534b0212dd" 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_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_6ec7cfbb-0409-4524-9b56-bc534b0212dd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_38d3fe56-1fc7-40f2-b949-b5589b407884" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_38d3fe56-1fc7-40f2-b949-b5589b407884" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_48883718-b70a-4b01-afb2-2be274779eaa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_Goodwill_48883718-b70a-4b01-afb2-2be274779eaa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_070ac547-2205-48f6-ae4d-fb759406b7ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_070ac547-2205-48f6-ae4d-fb759406b7ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9af18432-2b2b-4028-a288-3fc688ae54a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_59f82caf-330d-45e4-8aed-515b704d0b23" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9af18432-2b2b-4028-a288-3fc688ae54a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_907bde2c-9781-4133-9fbc-7fc58b323a58" 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_5dd45c6d-b51e-4b7e-8f7e-8cdf73d81ad1" 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_907bde2c-9781-4133-9fbc-7fc58b323a58" xlink:to="loc_us-gaap_AccountsPayableCurrent_5dd45c6d-b51e-4b7e-8f7e-8cdf73d81ad1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4f0f1ef2-19e7-4eeb-b43b-1bd96b6fae36" 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_907bde2c-9781-4133-9fbc-7fc58b323a58" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4f0f1ef2-19e7-4eeb-b43b-1bd96b6fae36" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_55ad18a0-a8ee-4259-8eac-97f8b2316d45" 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_907bde2c-9781-4133-9fbc-7fc58b323a58" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_55ad18a0-a8ee-4259-8eac-97f8b2316d45" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_df1a17fc-242c-4684-8a44-ab25942eb0f0" 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_LiabilitiesCurrent_b80a34e7-8ce6-438e-8ba9-1f162732891c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_df1a17fc-242c-4684-8a44-ab25942eb0f0" xlink:to="loc_us-gaap_LiabilitiesCurrent_b80a34e7-8ce6-438e-8ba9-1f162732891c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_912cd344-4704-4751-af8a-e861663eed49" 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_df1a17fc-242c-4684-8a44-ab25942eb0f0" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_912cd344-4704-4751-af8a-e861663eed49" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_4937efbe-50c6-4a50-bba3-12a6185edd7d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_df1a17fc-242c-4684-8a44-ab25942eb0f0" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_4937efbe-50c6-4a50-bba3-12a6185edd7d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9e7da356-28f0-4848-9c20-65b0eff99d3d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_df1a17fc-242c-4684-8a44-ab25942eb0f0" xlink:to="loc_us-gaap_StockholdersEquity_9e7da356-28f0-4848-9c20-65b0eff99d3d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_58e1e483-e638-4538-a4f2-790c93a66f50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_df1a17fc-242c-4684-8a44-ab25942eb0f0" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_58e1e483-e638-4538-a4f2-790c93a66f50" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_7a19318a-39ec-41e8-aa7f-d5133a266b99" 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_CashAndCashEquivalentsAtCarryingValue_913e4390-2631-48db-b412-d5c7746a0d93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7a19318a-39ec-41e8-aa7f-d5133a266b99" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_913e4390-2631-48db-b412-d5c7746a0d93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_0cf5d204-1147-4f6d-b005-1906a36eebea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7a19318a-39ec-41e8-aa7f-d5133a266b99" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_0cf5d204-1147-4f6d-b005-1906a36eebea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_19e48962-c73e-4004-aaef-65bceefb825a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7a19318a-39ec-41e8-aa7f-d5133a266b99" xlink:to="loc_us-gaap_InventoryNet_19e48962-c73e-4004-aaef-65bceefb825a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_faa0aca4-f095-4491-871b-ae34b0a4f080" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7a19318a-39ec-41e8-aa7f-d5133a266b99" xlink:to="loc_us-gaap_OtherAssetsCurrent_faa0aca4-f095-4491-871b-ae34b0a4f080" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" 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_7e12e9da-2c83-4d3d-b5a2-c95368282041" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_PreferredStockValue_7e12e9da-2c83-4d3d-b5a2-c95368282041" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_651f4d05-8166-40f4-9e90-ee0763d02ae4" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_CommonStockValue_651f4d05-8166-40f4-9e90-ee0763d02ae4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_25603bad-dc6f-449b-9e02-e4841c0ee6ae" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_AdditionalPaidInCapital_25603bad-dc6f-449b-9e02-e4841c0ee6ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_b5bd11ea-ab69-4b8c-b9c1-400054e2b51c" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_b5bd11ea-ab69-4b8c-b9c1-400054e2b51c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_a8a4345e-1596-4882-a1c3-334a812705e0" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_a8a4345e-1596-4882-a1c3-334a812705e0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_3af8dd9f-a505-44e4-846f-818fc7d84fe7" 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_d3a73b0d-bd6f-4ce5-b5ee-ba36216e3a7f" xlink:to="loc_us-gaap_TreasuryStockValue_3af8dd9f-a505-44e4-846f-818fc7d84fe7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="rock-20240331.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_NetCashProvidedByUsedInInvestingActivities_5ffd4c27-ad48-413d-9cac-abf6e70dfeb0" 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_PaymentsToAcquirePropertyPlantAndEquipment_a37d8601-7d76-4b7e-996c-55208984666a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_5ffd4c27-ad48-413d-9cac-abf6e70dfeb0" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_a37d8601-7d76-4b7e-996c-55208984666a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_f6f00c0e-7869-47cb-a3d6-c5f803514fa4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_5ffd4c27-ad48-413d-9cac-abf6e70dfeb0" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_f6f00c0e-7869-47cb-a3d6-c5f803514fa4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_063be808-e500-4e3f-be23-ce87e83aa6b2" 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_877d353e-8122-4c6b-95a0-3466bad74927" 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_063be808-e500-4e3f-be23-ce87e83aa6b2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_877d353e-8122-4c6b-95a0-3466bad74927" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_49b8c9d4-e10c-44a6-8fdc-0016cb036fb4" 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_063be808-e500-4e3f-be23-ce87e83aa6b2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_49b8c9d4-e10c-44a6-8fdc-0016cb036fb4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7c465931-55f9-4c2f-a79f-3a7b75334929" 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_063be808-e500-4e3f-be23-ce87e83aa6b2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7c465931-55f9-4c2f-a79f-3a7b75334929" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6593cc5e-f788-4a16-8823-7c2c51c01714" 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_063be808-e500-4e3f-be23-ce87e83aa6b2" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6593cc5e-f788-4a16-8823-7c2c51c01714" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" 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_IncreaseDecreaseInAccountsPayable_7919d74e-de64-4dca-9bfe-8dfff20959a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_7919d74e-de64-4dca-9bfe-8dfff20959a4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_c3b9314e-fa24-4a27-a5e5-ae819d5f8d54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_c3b9314e-fa24-4a27-a5e5-ae819d5f8d54" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_2d53fdb7-42d7-42c6-bce8-c5b386c9802d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_2d53fdb7-42d7-42c6-bce8-c5b386c9802d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_298e914d-0789-4c8f-bf83-77d4decf7a0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_298e914d-0789-4c8f-bf83-77d4decf7a0b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_450fa667-e4d0-4a56-aa2f-09b23f6e114d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_450fa667-e4d0-4a56-aa2f-09b23f6e114d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_10976036-3260-4ad9-af5d-cc147b951bdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_10976036-3260-4ad9-af5d-cc147b951bdd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts_b987b531-3e0f-4de1-aa7d-6265d9d38681" xlink:href="rock-20240331.xsd#rock_NoncashProjectAbandonmentCostsReversalOfCosts"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts_b987b531-3e0f-4de1-aa7d-6265d9d38681" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_1f81a1aa-4067-4f7c-bd21-d008a4d0e42d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_NetIncomeLoss_1f81a1aa-4067-4f7c-bd21-d008a4d0e42d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_e8e2eb54-cf21-41c5-85d6-9015a29227d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_ShareBasedCompensation_e8e2eb54-cf21-41c5-85d6-9015a29227d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_65430a14-7bea-40b8-a518-34e94204246b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_65430a14-7bea-40b8-a518-34e94204246b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_5dadbb0d-c7c5-46ba-9234-62db6ef8c376" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_c2aabb50-e5c1-4c0a-bab3-183d1cde7ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_5dadbb0d-c7c5-46ba-9234-62db6ef8c376" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_325f15a6-c809-4c14-89e6-8a3910d1405a" 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_4c3d671d-b4c6-44d9-b5b4-1deff3dc7aba" 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_325f15a6-c809-4c14-89e6-8a3910d1405a" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_4c3d671d-b4c6-44d9-b5b4-1deff3dc7aba" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_6d3bdf32-3bab-4594-88ba-e90d8ea73181" 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_325f15a6-c809-4c14-89e6-8a3910d1405a" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_6d3bdf32-3bab-4594-88ba-e90d8ea73181" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_23d2d5c6-68b4-413a-a0e0-721576523fcc" 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_325f15a6-c809-4c14-89e6-8a3910d1405a" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_23d2d5c6-68b4-413a-a0e0-721576523fcc" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AccountsReceivableNetScheduleofReceivablesDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_dcd9f57e-12ed-4a3a-bc75-b475b30deb78" xlink:href="rock-20240331.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledContractsReceivable_cc5c10c0-8cdc-41d8-bba0-be0b8f53c767" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledContractsReceivable"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_rock_ContractsReceivableGrossCurrent_dcd9f57e-12ed-4a3a-bc75-b475b30deb78" xlink:to="loc_us-gaap_UnbilledContractsReceivable_cc5c10c0-8cdc-41d8-bba0-be0b8f53c767" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_a88bee21-c297-4af6-9bae-33ab2a34402f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_rock_ContractsReceivableGrossCurrent_dcd9f57e-12ed-4a3a-bc75-b475b30deb78" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_a88bee21-c297-4af6-9bae-33ab2a34402f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_d3902565-c936-4827-8773-7757383a2b0a" 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_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3388ac6f-c106-45f4-8a1f-94032fa7f13d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_d3902565-c936-4827-8773-7757383a2b0a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3388ac6f-c106-45f4-8a1f-94032fa7f13d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_04a7144b-8e0a-47f1-b5c5-9d014ebd9f71" xlink:href="rock-20240331.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_d3902565-c936-4827-8773-7757383a2b0a" xlink:to="loc_rock_ContractsReceivableGrossCurrent_04a7144b-8e0a-47f1-b5c5-9d014ebd9f71" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#InventoriesNetDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_ac882d86-01e8-4ca0-baf4-b340cf21566d" 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_b3b6fe52-1232-49d6-9648-ac2492029ffd" 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_ac882d86-01e8-4ca0-baf4-b340cf21566d" xlink:to="loc_us-gaap_InventoryGross_b3b6fe52-1232-49d6-9648-ac2492029ffd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_671fb344-38df-4014-9cfc-31962c708739" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_ac882d86-01e8-4ca0-baf4-b340cf21566d" xlink:to="loc_us-gaap_InventoryValuationReserves_671fb344-38df-4014-9cfc-31962c708739" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross_0a6eeb9e-ee95-454e-9dae-d5e1479108be" 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_05a9668d-8a14-4479-baa3-39cb78ef6833" 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_0a6eeb9e-ee95-454e-9dae-d5e1479108be" xlink:to="loc_us-gaap_InventoryRawMaterials_05a9668d-8a14-4479-baa3-39cb78ef6833" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcess_6aeee41a-1cf1-4081-b1f9-ba9d793bda6b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross_0a6eeb9e-ee95-454e-9dae-d5e1479108be" xlink:to="loc_us-gaap_InventoryWorkInProcess_6aeee41a-1cf1-4081-b1f9-ba9d793bda6b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_bb56e03c-0235-40f3-80e1-3ed48098548f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross_0a6eeb9e-ee95-454e-9dae-d5e1479108be" xlink:to="loc_us-gaap_InventoryFinishedGoods_bb56e03c-0235-40f3-80e1-3ed48098548f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" 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_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_d45f5ac9-0a7f-418f-8a5a-642972a09219" xlink:href="rock-20240331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_d45f5ac9-0a7f-418f-8a5a-642972a09219" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_57e50e8b-acff-494d-9a9a-b6e2aec335a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_57e50e8b-acff-494d-9a9a-b6e2aec335a4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_634519e9-bd87-442e-a8a3-6971188825f6" 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_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_634519e9-bd87-442e-a8a3-6971188825f6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_1eaa588d-16b3-4fa0-98d5-566ab16c14db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_us-gaap_Goodwill_1eaa588d-16b3-4fa0-98d5-566ab16c14db" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_601c4deb-70b1-4f56-bbd9-9577a08a954e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_601c4deb-70b1-4f56-bbd9-9577a08a954e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_4e432b33-6cb6-4701-a72a-366f73849fa4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_906892ed-75ef-4a45-a535-f21ebe7afdd6" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_4e432b33-6cb6-4701-a72a-366f73849fa4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EarningsperShareDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_050cd481-8781-4686-842c-837dc30815cd" 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_WeightedAverageNumberOfSharesOutstandingBasic_eb5f0def-eb2f-4b66-9284-1d2db533971f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_050cd481-8781-4686-842c-837dc30815cd" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_eb5f0def-eb2f-4b66-9284-1d2db533971f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_02d67ac5-d60d-4365-b3ab-37997d67587d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_050cd481-8781-4686-842c-837dc30815cd" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_02d67ac5-d60d-4365-b3ab-37997d67587d" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>rock-20240331_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:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd-->
<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/ConsolidatedStatementofStockholdersEquity" xlink:type="simple" xlink:href="rock-20240331.xsd#ConsolidatedStatementofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_85125956-1f8d-4fc9-b95c-5710b03be601" 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_6071995f-06f9-48fc-8f7f-e242cd530c72" 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_85125956-1f8d-4fc9-b95c-5710b03be601" xlink:to="loc_us-gaap_StatementTable_6071995f-06f9-48fc-8f7f-e242cd530c72" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" 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_6071995f-06f9-48fc-8f7f-e242cd530c72" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_9fe1689c-ae2f-4ca2-9afd-38328c6585fd_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_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" xlink:to="loc_us-gaap_EquityComponentDomain_9fe1689c-ae2f-4ca2-9afd-38328c6585fd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d70e8435-7e56-49d2-a45b-514d028afc7e" 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_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" xlink:to="loc_us-gaap_EquityComponentDomain_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_93bbee03-9104-4598-9673-c602f8624333" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_CommonStockMember_93bbee03-9104-4598-9673-c602f8624333" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_8520fdf1-154c-45ca-96eb-cf5a1dc0c279" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_8520fdf1-154c-45ca-96eb-cf5a1dc0c279" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_8d6c8a28-6859-4b32-8f8b-24913c111e2d" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_RetainedEarningsMember_8d6c8a28-6859-4b32-8f8b-24913c111e2d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_208add6d-ecb9-4508-af6f-3548607ce489" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_208add6d-ecb9-4508-af6f-3548607ce489" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_35f88fd6-2da3-4e6b-804a-4851b48c0df7" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_TreasuryStockCommonMember_35f88fd6-2da3-4e6b-804a-4851b48c0df7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" 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_85125956-1f8d-4fc9-b95c-5710b03be601" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_ce604b6b-73df-4778-a42a-e559a5d15ed5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_ce604b6b-73df-4778-a42a-e559a5d15ed5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9d08510a-ed7e-44fe-ad53-d396967bd691" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockholdersEquity_9d08510a-ed7e-44fe-ad53-d396967bd691" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_a99bfc73-d6b3-493e-9f24-67c1d3d6f4e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_TreasuryStockCommonShares_a99bfc73-d6b3-493e-9f24-67c1d3d6f4e6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_51f03de2-62d5-4ec7-81f4-a1226e4a47a1" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_NetIncomeLoss_51f03de2-62d5-4ec7-81f4-a1226e4a47a1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_bfcb28eb-b094-4e35-8189-5acf20f27174" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_bfcb28eb-b094-4e35-8189-5acf20f27174" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_76343b94-149c-4521-bc53-5a8d6992b456" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_76343b94-149c-4521-bc53-5a8d6992b456" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c4c2f2e7-1938-42f3-82d8-201c24f4a626" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c4c2f2e7-1938-42f3-82d8-201c24f4a626" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_3f1faadb-5b35-46a7-a40e-3084afd247ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_3f1faadb-5b35-46a7-a40e-3084afd247ab" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_4038c588-4cf7-4ea4-a394-6bc08fb8cb3a" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_4038c588-4cf7-4ea4-a394-6bc08fb8cb3a" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_a7bcb6ef-0d55-456e-8f18-617042112f3b" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_a7bcb6ef-0d55-456e-8f18-617042112f3b" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_546fa178-81e2-4c3a-9328-af17be2db1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_e7c97fd1-35b2-4656-9be2-4cf3172e9406" 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_TreasuryStockCommonShares_0c0bbaba-a4aa-4f91-8e22-018b6f1e7dbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_203c7de0-6266-4b19-8a27-b776dd6ce320" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_203c7de0-6266-4b19-8a27-b776dd6ce320" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_18111607-118d-417f-bfda-c958db6eaafc_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_18111607-118d-417f-bfda-c958db6eaafc" xlink:to="loc_srt_RangeMember_18111607-118d-417f-bfda-c958db6eaafc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" 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_18111607-118d-417f-bfda-c958db6eaafc" xlink:to="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" 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_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:to="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:href="rock-20240331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails_1" xlink:type="simple" xlink:href="rock-20240331.xsd#RevenueNarrativeDetails_1"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/RevenueNarrativeDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_18111607-118d-417f-bfda-c958db6eaafc_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_18111607-118d-417f-bfda-c958db6eaafc" xlink:to="loc_srt_RangeMember_18111607-118d-417f-bfda-c958db6eaafc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" 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_18111607-118d-417f-bfda-c958db6eaafc" xlink:to="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" 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_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:to="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:href="rock-20240331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" 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_19c3e4df-7ffd-481a-8f24-92d0294b1afb" 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_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_19c3e4df-7ffd-481a-8f24-92d0294b1afb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" 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_19c3e4df-7ffd-481a-8f24-92d0294b1afb" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99_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_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" 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_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_fc7ec34a-54a4-47cb-a11c-adadb786f187" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_fc7ec34a-54a4-47cb-a11c-adadb786f187" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_a79abf38-fa08-4889-ad79-80bbe97842d1" 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_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_a79abf38-fa08-4889-ad79-80bbe97842d1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8abb0e91-4b0f-4c6e-b0e5-2d15b5269567" 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_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:to="loc_us-gaap_Goodwill_8abb0e91-4b0f-4c6e-b0e5-2d15b5269567" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" 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_008241ad-1b47-4474-b902-b06c02ba3342" 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_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_008241ad-1b47-4474-b902-b06c02ba3342" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" 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_008241ad-1b47-4474-b902-b06c02ba3342" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2_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_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" 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_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_ccdfcd52-a3d6-4a98-96e9-bfae67646949" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_ccdfcd52-a3d6-4a98-96e9-bfae67646949" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_b499541e-ff00-4b05-9265-7498fab9e8b4" xlink:href="rock-20240331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_b499541e-ff00-4b05-9265-7498fab9e8b4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_08533c3a-2438-4599-b714-0f94ced87a89" 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_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_08533c3a-2438-4599-b714-0f94ced87a89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_c20f33ca-8aae-4740-bb3d-15d8a1dd732a" 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_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_c20f33ca-8aae-4740-bb3d-15d8a1dd732a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_614dab9c-4d08-44c0-b882-71a17158c8c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_614dab9c-4d08-44c0-b882-71a17158c8c2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_97e62f49-d2f8-4973-99d2-368adfefca98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_97e62f49-d2f8-4973-99d2-368adfefca98" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_7cadcf7b-effe-40c5-ba37-d090294cbf6e" 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_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_Goodwill_7cadcf7b-effe-40c5-ba37-d090294cbf6e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_f3999c63-37b9-4314-939e-dcffd5b60f4d" 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_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_f3999c63-37b9-4314-939e-dcffd5b60f4d" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_1f833428-2ecf-4c2d-8077-9f8c16794f9b" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" 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_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_840fc750-be52-425a-91eb-740246ea06b9" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_840fc750-be52-425a-91eb-740246ea06b9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_840fc750-be52-425a-91eb-740246ea06b9_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_840fc750-be52-425a-91eb-740246ea06b9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_840fc750-be52-425a-91eb-740246ea06b9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" 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_840fc750-be52-425a-91eb-740246ea06b9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_e84ac026-20bb-495e-a54d-781709aeaa02" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_e84ac026-20bb-495e-a54d-781709aeaa02" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7e699091-130c-438f-ac73-f31bca0a251d" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7e699091-130c-438f-ac73-f31bca0a251d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7e699091-130c-438f-ac73-f31bca0a251d_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_7e699091-130c-438f-ac73-f31bca0a251d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7e699091-130c-438f-ac73-f31bca0a251d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_377483d0-6a9a-4e98-90f4-14cec9be157c" 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_7e699091-130c-438f-ac73-f31bca0a251d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_095b2e99-5bed-49e7-8bd2-48e666be5409" 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_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:to="loc_us-gaap_TrademarksMember_095b2e99-5bed-49e7-8bd2-48e666be5409" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_46b4e17b-0e33-480a-8502-982e0008179d" 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_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:to="loc_us-gaap_CustomerRelationshipsMember_46b4e17b-0e33-480a-8502-982e0008179d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_950bc625-209c-42bc-a310-f11c7cf8194f" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_950bc625-209c-42bc-a310-f11c7cf8194f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_950bc625-209c-42bc-a310-f11c7cf8194f_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_950bc625-209c-42bc-a310-f11c7cf8194f" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_950bc625-209c-42bc-a310-f11c7cf8194f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_feeacf84-5ba7-4436-98d0-199dd3088762" 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_950bc625-209c-42bc-a310-f11c7cf8194f" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_feeacf84-5ba7-4436-98d0-199dd3088762" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_ce724a2d-d63d-4b94-abe2-27cd4960b5e4" 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_feeacf84-5ba7-4436-98d0-199dd3088762" xlink:to="loc_us-gaap_TrademarksMember_ce724a2d-d63d-4b94-abe2-27cd4960b5e4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_2d0745fc-1416-41af-b50e-78742b166f72" 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_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_2d0745fc-1416-41af-b50e-78742b166f72" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_e9acabb8-a131-4b8d-8313-1ed56ca147d3" 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_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_e9acabb8-a131-4b8d-8313-1ed56ca147d3" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="simple" xlink:href="rock-20240331.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_810012cb-eaa6-40ef-ae96-7008c1de5880" 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_61c89503-af82-4ccf-8c50-57d495841710" 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_810012cb-eaa6-40ef-ae96-7008c1de5880" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_61c89503-af82-4ccf-8c50-57d495841710" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_28f81756-6c39-4678-8198-e00ddc260392" 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_61c89503-af82-4ccf-8c50-57d495841710" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_28f81756-6c39-4678-8198-e00ddc260392" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_28f81756-6c39-4678-8198-e00ddc260392_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_28f81756-6c39-4678-8198-e00ddc260392" xlink:to="loc_us-gaap_SegmentDomain_28f81756-6c39-4678-8198-e00ddc260392_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" 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_28f81756-6c39-4678-8198-e00ddc260392" xlink:to="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewableEnergyandConservationMember_abc67783-815c-4149-b03c-09e1d5b08d7e" xlink:href="rock-20240331.xsd#rock_RenewableEnergyandConservationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_RenewableEnergyandConservationMember_abc67783-815c-4149-b03c-09e1d5b08d7e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_8eb8577e-d4e2-450a-af64-062e33c5a0a4" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_ResidentialProductsMember_8eb8577e-d4e2-450a-af64-062e33c5a0a4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_7ce861db-3d9f-4919-b43c-542b4e83bed2" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_AgtechMember_7ce861db-3d9f-4919-b43c-542b4e83bed2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_f269433b-9215-4e2a-959b-da9b13e0d28b" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_InfrastructureMember_f269433b-9215-4e2a-959b-da9b13e0d28b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" 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_810012cb-eaa6-40ef-ae96-7008c1de5880" xlink:to="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8a526a69-bd4e-4b1d-8f9f-9b140e50f8c3" 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_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_Goodwill_8a526a69-bd4e-4b1d-8f9f-9b140e50f8c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_ca89e34e-421b-4109-bd44-71e5437acb09" 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_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_ca89e34e-421b-4109-bd44-71e5437acb09" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_cd9c1491-4bee-442f-9479-59c2e6c6567b" 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_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_cd9c1491-4bee-442f-9479-59c2e6c6567b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_13f8fc20-7fa8-4b75-a732-37a371279e45" 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/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20240331.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_98595837-a13f-4163-97e4-c213ddc9f5d6" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_9273a1f5-cb3d-4a8d-8601-84d40336597a" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_9273a1f5-cb3d-4a8d-8601-84d40336597a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_9273a1f5-cb3d-4a8d-8601-84d40336597a_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_9273a1f5-cb3d-4a8d-8601-84d40336597a" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_9273a1f5-cb3d-4a8d-8601-84d40336597a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_81d26c33-318a-43c6-8054-c4a42a4a7379" 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_9273a1f5-cb3d-4a8d-8601-84d40336597a" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_81d26c33-318a-43c6-8054-c4a42a4a7379" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_01849c71-fcf5-4884-beeb-2c5bb2d88642" 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_81d26c33-318a-43c6-8054-c4a42a4a7379" xlink:to="loc_us-gaap_TrademarksMember_01849c71-fcf5-4884-beeb-2c5bb2d88642" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5a8bca10-449d-4e28-960e-47646966245a" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5a8bca10-449d-4e28-960e-47646966245a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_5a8bca10-449d-4e28-960e-47646966245a_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_5a8bca10-449d-4e28-960e-47646966245a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_5a8bca10-449d-4e28-960e-47646966245a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_54e371a3-0a86-4183-95ff-907292a810d0" 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_5a8bca10-449d-4e28-960e-47646966245a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_54e371a3-0a86-4183-95ff-907292a810d0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_8415affc-44a3-4b72-8655-06ce0e1c2ee0" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_TrademarksMember_8415affc-44a3-4b72-8655-06ce0e1c2ee0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_76fc038f-b1a4-45bc-afce-c2549b3110dd" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_76fc038f-b1a4-45bc-afce-c2549b3110dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_496ca1b4-8fe8-4de1-a0ce-d76d9cbe1611" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_CustomerRelationshipsMember_496ca1b4-8fe8-4de1-a0ce-d76d9cbe1611" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_4cb50947-8e55-46b3-ab87-0900c63a3dc1" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_4cb50947-8e55-46b3-ab87-0900c63a3dc1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0010a1d9-435b-44c4-838c-15f1d38599b0" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0010a1d9-435b-44c4-838c-15f1d38599b0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ed700c05-65ee-4fda-b6a9-e73461d269b5" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ed700c05-65ee-4fda-b6a9-e73461d269b5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_704a9dca-c483-4279-b425-d829cc878e87" xlink:href="rock-20240331.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_704a9dca-c483-4279-b425-d829cc878e87" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_b7b5cae4-56b4-42f1-bbc1-330a2e9352c9" xlink:href="rock-20240331.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_b7b5cae4-56b4-42f1-bbc1-330a2e9352c9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c216d436-2d0f-4d0d-8b81-71f9edbc6aa6" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c216d436-2d0f-4d0d-8b81-71f9edbc6aa6" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_860d351a-a3e3-4976-bc35-2699a3ee67fc" xlink:href="rock-20240331.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_860d351a-a3e3-4976-bc35-2699a3ee67fc" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#LongTermDebtNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_09ae7ae3-987a-461f-b54b-120a1dca9e27" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_DebtInstrumentAxis_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_09ae7ae3-987a-461f-b54b-120a1dca9e27_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_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_09ae7ae3-987a-461f-b54b-120a1dca9e27_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" 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_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_c62c1ef9-2da7-4b0f-8442-d2a30bfdd8bb" xlink:href="rock-20240331.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_c62c1ef9-2da7-4b0f-8442-d2a30bfdd8bb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_65ec5732-1f10-48b0-8487-7a789a74072b" xlink:href="rock-20240331.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_65ec5732-1f10-48b0-8487-7a789a74072b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_397a0c49-0345-4c62-8bed-a2fb128f6d0c" xlink:href="rock-20240331.xsd#rock_SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_SeniorCreditAgreementMember_397a0c49-0345-4c62-8bed-a2fb128f6d0c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_685ef0b6-4491-4455-bc5d-2d0559cfe975" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_685ef0b6-4491-4455-bc5d-2d0559cfe975_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_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_685ef0b6-4491-4455-bc5d-2d0559cfe975_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_34d39cfc-60a3-4332-9a5b-b1e508b3956f" 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_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_f61b1891-0c8d-41e1-936a-ad2a47948093" 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_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:to="loc_us-gaap_LineOfCreditMember_f61b1891-0c8d-41e1-936a-ad2a47948093" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_914a60d1-5f24-4adc-93f2-ca9574165f1e" 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_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:to="loc_us-gaap_MediumTermNotesMember_914a60d1-5f24-4adc-93f2-ca9574165f1e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:href="rock-20240331.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_764c45cf-dc14-44f5-82d4-ef95acf09e9b_default" xlink:href="rock-20240331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_764c45cf-dc14-44f5-82d4-ef95acf09e9b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:href="rock-20240331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member_29d2f181-fac6-4dd1-876f-7237316c7511" xlink:href="rock-20240331.xsd#rock_ApplicableRatePeriod1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:to="loc_rock_ApplicableRatePeriod1Member_29d2f181-fac6-4dd1-876f-7237316c7511" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_58a3aaaf-14e5-478f-bdca-2ea5a3563b81" xlink:href="rock-20240331.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:to="loc_rock_ApplicableRatePeriod2Member_58a3aaaf-14e5-478f-bdca-2ea5a3563b81" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_27f80f47-f145-410a-b389-397a23c0d167" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_VariableRateAxis_27f80f47-f145-410a-b389-397a23c0d167" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_27f80f47-f145-410a-b389-397a23c0d167_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_27f80f47-f145-410a-b389-397a23c0d167" xlink:to="loc_us-gaap_VariableRateDomain_27f80f47-f145-410a-b389-397a23c0d167_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" 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_27f80f47-f145-410a-b389-397a23c0d167" xlink:to="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_8fa4b5f9-3a86-437f-bba8-47be5fa808dc" 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_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_us-gaap_BaseRateMember_8fa4b5f9-3a86-437f-bba8-47be5fa808dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember_e33b5442-6b7b-44b5-84a2-a622724ee51f" xlink:href="rock-20240331.xsd#rock_SecuredOvernightFinancingRateSOFRMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_SecuredOvernightFinancingRateSOFRMember_e33b5442-6b7b-44b5-84a2-a622724ee51f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_d8d8b06e-6d6d-46a9-b438-009c5aaceb18" xlink:href="rock-20240331.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_d8d8b06e-6d6d-46a9-b438-009c5aaceb18" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ForeignCurrencyRateFloorMember_c9daf3fc-1f20-4103-8329-2cfb63717989" xlink:href="rock-20240331.xsd#rock_ForeignCurrencyRateFloorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_ForeignCurrencyRateFloorMember_c9daf3fc-1f20-4103-8329-2cfb63717989" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_eb5e1cb7-9a5b-4053-ade7-060061421167" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_CreditFacilityAxis_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_eb5e1cb7-9a5b-4053-ade7-060061421167_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_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:to="loc_us-gaap_CreditFacilityDomain_eb5e1cb7-9a5b-4053-ade7-060061421167_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" 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_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:to="loc_us-gaap_CreditFacilityDomain_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_9479f6b4-caeb-4d01-b98b-551821c8380e" 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_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_9479f6b4-caeb-4d01-b98b-551821c8380e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_fab22e26-bf2a-472a-a707-0f2e5bc05acf" 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_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_fab22e26-bf2a-472a-a707-0f2e5bc05acf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_f2c41742-3235-4195-940f-4e9931c2d2bc" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_srt_RangeAxis_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_f2c41742-3235-4195-940f-4e9931c2d2bc_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_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:to="loc_srt_RangeMember_f2c41742-3235-4195-940f-4e9931c2d2bc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e2933d18-22a9-4f8b-be81-d25012d00796" 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_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:to="loc_srt_RangeMember_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f585bbef-7411-40d9-9593-1c0b984c01d1" 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_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:to="loc_srt_MinimumMember_f585bbef-7411-40d9-9593-1c0b984c01d1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d7237b60-cab3-4832-8146-3ee20824ad1a" 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_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:to="loc_srt_MaximumMember_d7237b60-cab3-4832-8146-3ee20824ad1a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_d46c3ed4-8185-4579-b597-444d13647219" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_d46c3ed4-8185-4579-b597-444d13647219" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_dda31556-d4aa-43b5-a346-116e6c252fce" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_dda31556-d4aa-43b5-a346-116e6c252fce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_ab09862f-658d-4ba9-906b-83cc54606de2" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_ab09862f-658d-4ba9-906b-83cc54606de2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_9b9ee2d4-582a-46bd-ae84-d7c9a08ed748" xlink:href="rock-20240331.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_9b9ee2d4-582a-46bd-ae84-d7c9a08ed748" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_de96d3fa-1930-412b-83a9-849488faaf2a" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_de96d3fa-1930-412b-83a9-849488faaf2a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5527666b-88bd-47ea-81a5-eec963821db3" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5527666b-88bd-47ea-81a5-eec963821db3" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_0fed82fa-89c9-45a9-acc1-f8c1683d6796" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_0fed82fa-89c9-45a9-acc1-f8c1683d6796" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_99ed43cd-5a6c-4e4e-a05e-e0c5df59b62c" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_99ed43cd-5a6c-4e4e-a05e-e0c5df59b62c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_81160cc7-a70d-4c59-881a-41ae70c41a78" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_81160cc7-a70d-4c59-881a-41ae70c41a78" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_cbb562e9-680b-4d87-9521-f8b8ae5e578a" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LongTermDebt_cbb562e9-680b-4d87-9521-f8b8ae5e578a" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_f4d16549-6a3d-4382-a24c-0c4da7ff946f" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_f4d16549-6a3d-4382-a24c-0c4da7ff946f" xlink:type="arc" order="10"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EquityBasedCompensationIncentivePlanDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2dd38448-e6f6-4d52-8291-57017475ea93" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" 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_2dd38448-e6f6-4d52-8291-57017475ea93" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_424320b0-a47d-47ce-b773-3bed97276622" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:to="loc_us-gaap_PlanNameAxis_424320b0-a47d-47ce-b773-3bed97276622" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_424320b0-a47d-47ce-b773-3bed97276622_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_424320b0-a47d-47ce-b773-3bed97276622" xlink:to="loc_us-gaap_PlanNameDomain_424320b0-a47d-47ce-b773-3bed97276622_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" 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_424320b0-a47d-47ce-b773-3bed97276622" xlink:to="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_d7051b46-0df3-4299-8425-175f90cc84c6" xlink:href="rock-20240331.xsd#rock_Amended2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:to="loc_rock_Amended2018PlanMember_d7051b46-0df3-4299-8425-175f90cc84c6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_b97f761f-85f7-45b6-b4e3-7c08d07edc6f" xlink:href="rock-20240331.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_b97f761f-85f7-45b6-b4e3-7c08d07edc6f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_7b19a6bd-56b3-409c-aff7-acbfa257acc2" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:to="loc_us-gaap_AwardTypeAxis_7b19a6bd-56b3-409c-aff7-acbfa257acc2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7b19a6bd-56b3-409c-aff7-acbfa257acc2_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_7b19a6bd-56b3-409c-aff7-acbfa257acc2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7b19a6bd-56b3-409c-aff7-acbfa257acc2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5b67f241-c72b-4dc6-bf33-a1b21e654842" 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_7b19a6bd-56b3-409c-aff7-acbfa257acc2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5b67f241-c72b-4dc6-bf33-a1b21e654842" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_abc86efa-55fd-4fe1-a34d-31b804e44085" 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_5b67f241-c72b-4dc6-bf33-a1b21e654842" xlink:to="loc_us-gaap_CommonStockMember_abc86efa-55fd-4fe1-a34d-31b804e44085" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_e83d0c6e-5dad-45c6-a3a9-fb23061b1fa2" 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_2dd38448-e6f6-4d52-8291-57017475ea93" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_e83d0c6e-5dad-45c6-a3a9-fb23061b1fa2" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20240331.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_98017f32-dea9-4ada-b745-45d36ccd09f2" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeAxis_ed9828ac-302f-4ccb-9896-7f3356c8b48a" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_MeasurementInputTypeAxis_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_ed9828ac-302f-4ccb-9896-7f3356c8b48a_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_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_ed9828ac-302f-4ccb-9896-7f3356c8b48a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" 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_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_09620bef-93d4-4d7a-9cad-7424e513451f" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" xlink:to="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_09620bef-93d4-4d7a-9cad-7424e513451f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_srt_RangeAxis_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_69acd0da-d3e7-41b1-b569-e403b6c0b8f6_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_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" xlink:to="loc_srt_RangeMember_69acd0da-d3e7-41b1-b569-e403b6c0b8f6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_57642823-141f-4e3f-9d5b-0c98ae0555c2" 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_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" xlink:to="loc_srt_RangeMember_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a6ec09e0-9a09-4d47-9c32-89783e70c02a" 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_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:to="loc_srt_MinimumMember_a6ec09e0-9a09-4d47-9c32-89783e70c02a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5969cc39-3821-4cdb-ab57-5f902108c3f3" 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_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:to="loc_srt_MaximumMember_5969cc39-3821-4cdb-ab57-5f902108c3f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_PlanNameAxis_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92_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_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:to="loc_us-gaap_PlanNameDomain_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" 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_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:to="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_122a09ab-9efe-4fa5-8371-ce9ffe7d357e" xlink:href="rock-20240331.xsd#rock_A2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" xlink:to="loc_rock_A2018PlanMember_122a09ab-9efe-4fa5-8371-ce9ffe7d357e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_63f357bf-2313-435f-88e3-99d4762e0805" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_AwardTypeAxis_63f357bf-2313-435f-88e3-99d4762e0805" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_63f357bf-2313-435f-88e3-99d4762e0805_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_63f357bf-2313-435f-88e3-99d4762e0805" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_63f357bf-2313-435f-88e3-99d4762e0805_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" 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_63f357bf-2313-435f-88e3-99d4762e0805" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_28a8aa27-146e-4e63-a505-d73d7813aaa3" 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_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:to="loc_us-gaap_PerformanceSharesMember_28a8aa27-146e-4e63-a505-d73d7813aaa3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_937dd2d6-8b54-44cc-94a1-8f95a4280191" 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_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_937dd2d6-8b54-44cc-94a1-8f95a4280191" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_80f330c3-30e2-408e-a2e2-04884b1700b6" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_80f330c3-30e2-408e-a2e2-04884b1700b6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ee30b31e-11a8-42a5-820f-0d3b54ed1263" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ee30b31e-11a8-42a5-820f-0d3b54ed1263" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_d0ee5bb8-f9c2-4841-bc65-5a9dd4658144" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_d0ee5bb8-f9c2-4841-bc65-5a9dd4658144" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_074b3b87-f9db-49c2-b85d-062aed0408ef" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_074b3b87-f9db-49c2-b85d-062aed0408ef" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_b03c984c-3867-4eaa-b6d0-0d72ddac6564" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_b03c984c-3867-4eaa-b6d0-0d72ddac6564" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_b7ec9eef-42fd-470e-9cff-839538fdd2f2" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_b7ec9eef-42fd-470e-9cff-839538fdd2f2" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_afc91fd4-af5b-439d-8b52-7bd2e834e357" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_afc91fd4-af5b-439d-8b52-7bd2e834e357" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" 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_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_57bee8af-0696-4adb-a02c-379a14237522" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_PlanNameAxis_57bee8af-0696-4adb-a02c-379a14237522" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_57bee8af-0696-4adb-a02c-379a14237522_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_57bee8af-0696-4adb-a02c-379a14237522" xlink:to="loc_us-gaap_PlanNameDomain_57bee8af-0696-4adb-a02c-379a14237522_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" 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_57bee8af-0696-4adb-a02c-379a14237522" xlink:to="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_4bebdd64-8690-4de7-86c2-b93188068083" xlink:href="rock-20240331.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" xlink:to="loc_rock_ManagementStockPurchasePlanMember_4bebdd64-8690-4de7-86c2-b93188068083" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_247df4fb-dbce-417e-9ef8-ff71b8652264" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_247df4fb-dbce-417e-9ef8-ff71b8652264" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_247df4fb-dbce-417e-9ef8-ff71b8652264_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_247df4fb-dbce-417e-9ef8-ff71b8652264" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_247df4fb-dbce-417e-9ef8-ff71b8652264_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" 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_247df4fb-dbce-417e-9ef8-ff71b8652264" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_0df02457-b43c-44ff-8e79-18264ea6b0cb" xlink:href="rock-20240331.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:to="loc_rock_NonCurrentLiabilitiesMember_0df02457-b43c-44ff-8e79-18264ea6b0cb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_31b49cae-b718-4782-98c6-370b8a1af32f" xlink:href="rock-20240331.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:to="loc_rock_AccruedExpensesCurrentMember_31b49cae-b718-4782-98c6-370b8a1af32f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3146ad6a-5334-4a5a-b255-6b441ca22bcc" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_AwardTypeAxis_3146ad6a-5334-4a5a-b255-6b441ca22bcc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3146ad6a-5334-4a5a-b255-6b441ca22bcc_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_3146ad6a-5334-4a5a-b255-6b441ca22bcc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3146ad6a-5334-4a5a-b255-6b441ca22bcc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f853425f-c93c-4ea9-89f0-136d1893c39e" 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_3146ad6a-5334-4a5a-b255-6b441ca22bcc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f853425f-c93c-4ea9-89f0-136d1893c39e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_44542e7f-1633-4d09-93d4-9884baaf65b2" 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_f853425f-c93c-4ea9-89f0-136d1893c39e" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_44542e7f-1633-4d09-93d4-9884baaf65b2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_fb4dcb5c-396f-4047-8a40-d974f3dbfc72" xlink:href="rock-20240331.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_rock_AccruedEquityBasedCompensation_fb4dcb5c-396f-4047-8a40-d974f3dbfc72" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_0b85cb24-5c52-4c05-ac1c-0d802e3551f4" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_0b85cb24-5c52-4c05-ac1c-0d802e3551f4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_cb4e6516-5a18-4c77-9258-b68a1e94807c" 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_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_cb4e6516-5a18-4c77-9258-b68a1e94807c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_2c5838f1-e046-44d9-9fcf-3377383ac39e" 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_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_2c5838f1-e046-44d9-9fcf-3377383ac39e" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" 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_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" 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_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_fdbeae03-ba36-44f1-b647-3f2f915ebed4" 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_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:to="loc_srt_ConsolidationItemsAxis_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_fdbeae03-ba36-44f1-b647-3f2f915ebed4_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_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:to="loc_srt_ConsolidationItemsDomain_fdbeae03-ba36-44f1-b647-3f2f915ebed4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_09b1a27b-2564-457b-bf02-869525edab2d" 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_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:to="loc_srt_ConsolidationItemsDomain_09b1a27b-2564-457b-bf02-869525edab2d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_4749c205-0529-49b2-8541-db7b2bbcc7aa" 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_09b1a27b-2564-457b-bf02-869525edab2d" xlink:to="loc_us-gaap_OperatingSegmentsMember_4749c205-0529-49b2-8541-db7b2bbcc7aa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_2700a851-0454-45ef-a89e-1491eac25878" 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_09b1a27b-2564-457b-bf02-869525edab2d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_2700a851-0454-45ef-a89e-1491eac25878" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" 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_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed_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_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" xlink:to="loc_us-gaap_SegmentDomain_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" 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_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" xlink:to="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewableEnergyandConservationMember_b89bd341-a437-47d0-b098-e29cb0a2635a" xlink:href="rock-20240331.xsd#rock_RenewableEnergyandConservationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_RenewableEnergyandConservationMember_b89bd341-a437-47d0-b098-e29cb0a2635a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_883cf9ab-4010-43d1-b787-5258cfc238d5" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_ResidentialProductsMember_883cf9ab-4010-43d1-b787-5258cfc238d5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_16318c7a-5f63-4745-88b7-d1df897a61bd" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_AgtechMember_16318c7a-5f63-4745-88b7-d1df897a61bd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_7ac4b105-30d8-437e-a0ed-5d4a46b1c7be" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_InfrastructureMember_7ac4b105-30d8-437e-a0ed-5d4a46b1c7be" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_121435cd-22f6-41f9-9042-5b00c36760ac" 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_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_BusinessExitCosts1_121435cd-22f6-41f9-9042-5b00c36760ac" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessExitCostsRecoveries_e779b0f6-7b7c-41ca-a58f-d954e16464fa" xlink:href="rock-20240331.xsd#rock_BusinessExitCostsRecoveries"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_BusinessExitCostsRecoveries_e779b0f6-7b7c-41ca-a58f-d954e16464fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_7460e816-7bbd-43f6-95d5-bf52c99f6212" 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_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_7460e816-7bbd-43f6-95d5-bf52c99f6212" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_93d19adf-b199-4ed8-a31b-44bd2f49f02c" xlink:href="rock-20240331.xsd#rock_RestructuringSettlementAndImpairmentProvisionsRecovery"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_93d19adf-b199-4ed8-a31b-44bd2f49f02c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_6636e11a-398c-4a86-be45-455152256139" 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_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_RestructuringCharges_6636e11a-398c-4a86-be45-455152256139" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringChargesRecoveries_7a335e48-1feb-4904-80dc-cc78decc3ff5" xlink:href="rock-20240331.xsd#rock_RestructuringChargesRecoveries"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_RestructuringChargesRecoveries_7a335e48-1feb-4904-80dc-cc78decc3ff5" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" 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_f4098649-013d-4090-b5b3-99c3c9e224df" 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_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f4098649-013d-4090-b5b3-99c3c9e224df" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_55578df6-afc4-48d9-873a-23419ae9485e" 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_f4098649-013d-4090-b5b3-99c3c9e224df" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_55578df6-afc4-48d9-873a-23419ae9485e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_55578df6-afc4-48d9-873a-23419ae9485e_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_55578df6-afc4-48d9-873a-23419ae9485e" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_55578df6-afc4-48d9-873a-23419ae9485e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" 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_55578df6-afc4-48d9-873a-23419ae9485e" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_3ccb4edc-01f5-4c38-8b90-d99e44fc8398" 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_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:to="loc_us-gaap_CostOfSalesMember_3ccb4edc-01f5-4c38-8b90-d99e44fc8398" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_15a12c63-9a7b-4296-a9a0-85aec981b8c7" xlink:href="rock-20240331.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_15a12c63-9a7b-4296-a9a0-85aec981b8c7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_c58ea93f-2ed4-4e5b-8b5a-19c8bfe1e2bc" 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_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" xlink:to="loc_us-gaap_RestructuringCharges_c58ea93f-2ed4-4e5b-8b5a-19c8bfe1e2bc" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EarningsperShareDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" 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_10337e9b-0b05-446c-aed6-5626ce8783ed" 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_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_10337e9b-0b05-446c-aed6-5626ce8783ed" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" 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_10337e9b-0b05-446c-aed6-5626ce8783ed" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_9a27a7e1-d85d-4e30-ad1c-c91459ffca51_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_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_9a27a7e1-d85d-4e30-ad1c-c91459ffca51_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4055e789-bd83-48b8-aaee-553ecfca467b" 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_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4055e789-bd83-48b8-aaee-553ecfca467b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_20298ebb-98e0-4897-b855-4e4f90fb7142" 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_4055e789-bd83-48b8-aaee-553ecfca467b" xlink:to="loc_us-gaap_CommonStockMember_20298ebb-98e0-4897-b855-4e4f90fb7142" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_f535806a-fbf7-4b4e-b7d0-71eae2b2ef19" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_NetIncomeLoss_f535806a-fbf7-4b4e-b7d0-71eae2b2ef19" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1830538a-7d89-4d04-868d-377afbf4f53c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1830538a-7d89-4d04-868d-377afbf4f53c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_c158889d-6088-49c8-a81e-87768a53d439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_c158889d-6088-49c8-a81e-87768a53d439" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_95f2e32c-802d-47df-9fa3-358f8ca503f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_95f2e32c-802d-47df-9fa3-358f8ca503f7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5733137e-2da2-4e94-ae1c-09a00b7aa186" 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_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5733137e-2da2-4e94-ae1c-09a00b7aa186" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#SegmentInformationDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" 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_23f968e1-97d6-4fa9-860c-a8233f24cd1c" 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_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" 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_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:to="loc_srt_ConsolidationItemsAxis_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a_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_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:to="loc_srt_ConsolidationItemsDomain_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_af00daae-5c59-49d6-b416-45340e8a2a85" 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_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:to="loc_srt_ConsolidationItemsDomain_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_3bb1efff-7580-48de-9afa-863d83e65380" 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_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:to="loc_us-gaap_OperatingSegmentsMember_3bb1efff-7580-48de-9afa-863d83e65380" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_23c6011a-b37a-4fd3-8daf-3f876eaf6ab9" 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_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:to="loc_us-gaap_CorporateNonSegmentMember_23c6011a-b37a-4fd3-8daf-3f876eaf6ab9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_a614f600-ec7a-47e3-a871-5c7d468bd7d1" 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_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_a614f600-ec7a-47e3-a871-5c7d468bd7d1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_a614f600-ec7a-47e3-a871-5c7d468bd7d1_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_a614f600-ec7a-47e3-a871-5c7d468bd7d1" xlink:to="loc_us-gaap_SegmentDomain_a614f600-ec7a-47e3-a871-5c7d468bd7d1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" 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_a614f600-ec7a-47e3-a871-5c7d468bd7d1" xlink:to="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_c7fc3bf6-751e-45aa-af39-437c1c1c5623" xlink:href="rock-20240331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_RenewablesMember_c7fc3bf6-751e-45aa-af39-437c1c1c5623" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_291e0959-1128-480b-9516-186b0731a4e7" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_ResidentialProductsMember_291e0959-1128-480b-9516-186b0731a4e7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_46262a97-b2ac-4567-832b-0eb850ef566a" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_AgtechMember_46262a97-b2ac-4567-832b-0eb850ef566a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_5a2c87a7-545c-41e1-b504-1b8ac5e2d2cf" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_InfrastructureMember_5a2c87a7-545c-41e1-b504-1b8ac5e2d2cf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_51d4c48c-3502-4510-be91-792848fe8b0b" 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_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_NumberOfReportableSegments_51d4c48c-3502-4510-be91-792848fe8b0b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_b089a85a-e618-47ef-9996-ca6789ba633b" 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_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_Revenues_b089a85a-e618-47ef-9996-ca6789ba633b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9b700536-c1cc-4507-bd92-edc837b292e4" 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_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_OperatingIncomeLoss_9b700536-c1cc-4507-bd92-edc837b292e4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_68baf204-b3a1-4701-98dd-94436475794d" 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_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_Assets_68baf204-b3a1-4701-98dd-94436475794d" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#SegmentInformationDisaggregationofRevenueDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_8ce6cc24-c2d3-407b-9645-145aa0294d60" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" 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_8ce6cc24-c2d3-407b-9645-145aa0294d60" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_8a12966d-c44e-4567-883a-d86be9c1ce99" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_8a12966d-c44e-4567-883a-d86be9c1ce99" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_8a12966d-c44e-4567-883a-d86be9c1ce99_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_8a12966d-c44e-4567-883a-d86be9c1ce99" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_8a12966d-c44e-4567-883a-d86be9c1ce99_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7611d315-4545-4368-9efa-513aad8db403" 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_8a12966d-c44e-4567-883a-d86be9c1ce99" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7611d315-4545-4368-9efa-513aad8db403" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_eec0146d-be33-4d00-b003-f55facb63f69" 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_7611d315-4545-4368-9efa-513aad8db403" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_eec0146d-be33-4d00-b003-f55facb63f69" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_3117b821-c703-4c93-b367-25bd3e9a43fc" 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_7611d315-4545-4368-9efa-513aad8db403" xlink:to="loc_us-gaap_TransferredOverTimeMember_3117b821-c703-4c93-b367-25bd3e9a43fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_b097c07f-13db-41ed-a07c-0b55e2f033c4" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_b097c07f-13db-41ed-a07c-0b55e2f033c4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_b097c07f-13db-41ed-a07c-0b55e2f033c4_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_b097c07f-13db-41ed-a07c-0b55e2f033c4" xlink:to="loc_us-gaap_SegmentDomain_b097c07f-13db-41ed-a07c-0b55e2f033c4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" 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_b097c07f-13db-41ed-a07c-0b55e2f033c4" xlink:to="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_235c4084-9fa4-4dd6-a4b1-95209e4f8905" xlink:href="rock-20240331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_RenewablesMember_235c4084-9fa4-4dd6-a4b1-95209e4f8905" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_4cf6b9ae-5754-46e2-b7f1-5f1fe5cd1ff9" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_ResidentialProductsMember_4cf6b9ae-5754-46e2-b7f1-5f1fe5cd1ff9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_54c8ac3f-a709-457f-b259-4f35e7faf325" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_AgtechMember_54c8ac3f-a709-457f-b259-4f35e7faf325" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_d25add9a-ed1f-4abc-ad80-2208068876cf" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_InfrastructureMember_d25add9a-ed1f-4abc-ad80-2208068876cf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_972e067d-766a-4145-a36d-89088693cedb" 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_8ce6cc24-c2d3-407b-9645-145aa0294d60" xlink:to="loc_us-gaap_Revenues_972e067d-766a-4145-a36d-89088693cedb" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>rock-20240331_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:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd-->
<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_us-gaap_VariableRateDomain_e699d800-5a7b-4b58-adaf-e22acf5e17d1_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AccruedLiabilitiesCurrent_2c55fa0a-8a12-426d-b306-76bf306b1d68_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_srt_RangeMember_4af409d6-2b92-4cb6-a988-3a95df6f91c0_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AssetsCurrent_10966281-3888-4026-9f0f-e92736b7c1ed_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_InventoryValuationReserves_6389e244-9db4-4f74-934f-1e6327ce8820_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Less reserves</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" 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_7aca8cdb-cca5-4ead-b0e5-7d1719a93b09_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Letters of credit issued</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" 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_6518de38-0ba8-4ad2-95a3-20f1e3f82e62_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RevenueFromContractWithCustomerAbstract_e93e51d3-db60-4fbb-a095-b9e173605dca_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b5a6431a-88d3-4324-ad44-c0725c47e62f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_49671924-6055-4958-ad84-4e4840bfb25e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OtherNonoperatingIncomeExpense_876de59d-362b-42de-bbb6-fd05084587b1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other income</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_3b5b52c6-6969-48bc-8cf8-3ff79cf539b5_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_ResidentialProductsMember_54b4c05c-1237-436c-b77e-7d3874e0c729_terseLabel_en-US" xlink:label="lab_rock_ResidentialProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Residential</link:label>
    <link:label id="lab_rock_ResidentialProductsMember_label_en-US" xlink:label="lab_rock_ResidentialProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Residential Products [Member]</link:label>
    <link:label id="lab_rock_ResidentialProductsMember_documentation_en-US" xlink:label="lab_rock_ResidentialProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Residential Products.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ResidentialProductsMember" xlink:to="lab_rock_ResidentialProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_359efe82-204c-47b3-8026-b14074826a5b_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RestructuringCostAndReserveAxis_d2318400-06ba-42cd-95b0-30626bb065f9_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_9016822d-01d1-4feb-8c7b-ad13c59f9441_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_269a6ca5-05a8-4091-acdd-6047cdd9d899_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RevolvingCreditFacilityMember_12991101-92a0-46a0-a06e-5fd3c35e457e_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_GoodwillAndIntangibleAssetsDisclosureTextBlock_4451bd79-bb66-4c7c-833b-80e489c17f41_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_45408d95-9cd1-4159-ba19-95540b5994a0_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_StockRepurchasedDuringPeriodShares_c46664d2-e4f3-4aec-bf22-90a2706d81f3_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DeferredIncomeTaxLiabilitiesNet_83ff4cfc-5679-4322-b514-cc2f467a05cf_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_fedfaffa-a2a0-46c0-b250-8156f8843018_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Performance stock units</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" 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_AccountsPayableCurrent_308f8d90-de99-4c69-b02b-c9b7ec99f5e5_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_PreferredStockSharesAuthorized_cda1f86b-f63c-4ae8-a165-abc562215ec8_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_6338c9ef-0edd-47e5-9f3c-2cba97e49c43_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_1be437b7-55f6-48d7-8ce8-e7f9668e3ff1_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal statutory income tax rate</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" 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_BaseRateMember_8043ef9d-3098-465b-b9c7-5a40a778ea9c_terseLabel_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_25e7edce-d074-448e-a064-a0647585f9b6_netLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xml:lang="en-US">Weighted average grant&#160;date fair value (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" 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_098bd18a-3ef1-4268-9ea0-af25176743e3_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2029</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" 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_ScheduleOfGoodwillTextBlock_e4a124d6-66c8-4666-8b73-c6b1d5bdffb4_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_76de8004-9e21-471b-9f93-c17b7ab9a360_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DisaggregationOfRevenueLineItems_af13c3e6-0af8-4fb1-8992-d904c812b688_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_NetCashProvidedByUsedInOperatingActivities_2e218ca8-03d4-443e-8f21-02d0ea0c8e51_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_15204f09-358a-49f0-a1a1-4c74a16d206d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfGoodwillTable_56a8625f-972d-4d48-b68f-5693d714e35e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_IndefiniteLivedAccumulatedAmortization_0826b036-c0e0-4a4d-9549-618d70be2dc7_terseLabel_en-US" xlink:label="lab_rock_IndefiniteLivedAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Indefinite-lived accumulated amortization.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization" xlink:href="rock-20240331.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_c1245109-ecda-45ee-9a4f-d4d4ad338145_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_CorporateNonSegmentMember_f68d4fac-5acb-4d5d-be01-9ebe0725c5f8_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate</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" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_988ed0cb-1968-4271-aef5-c40ff372334c_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net settlement of restricted stock units (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_609f0ab7-d8b6-49d8-82a3-aea404229353_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_90ad7e8e-7d8d-4ad3-8eba-4050fc9e53a8_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_DebtInstrumentInterestRateStatedPercentage_986f5904-494e-4c93-8e9b-f65c758a1add_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_LiabilitiesCurrentAbstract_53130caf-fad2-4052-b4db-2365c7176fb1_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_TransferredOverTimeMember_0924d20d-f4ee-4e0d-8de7-c5b7acdebd80_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_e6a350ec-f383-49e5-8c20-33cd92e123a7_terseLabel_en-US" xlink:label="lab_us-gaap_MediumTermNotesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Medium-term Notes</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" 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_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_3286eb6f-f675-4373-8dea-bf78637599d0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StatementOfFinancialPositionAbstract_f00517ad-4227-4439-a0a4-3ebf92abe6f4_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_GoodwillImpairedAccumulatedImpairmentLoss_643c4b16-f9eb-45bc-909b-2cde8cf26ca6_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill, 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" 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_BusinessCombinationAndAssetAcquisitionAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination and Asset Acquisition [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_49fcd89f-c952-47d7-bf0d-51cfc534b481_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StockholdersEquity_28f2c4ac-a35e-45bf-a89b-9a7d60455ae1_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_5af10565-0e96-4d08-b8d7-328883c46c66_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance, value</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_739440d7-fe56-4516-9e41-6214afcdd1fd_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance, value</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" 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_us-gaap_PreferredStockValue_350b7864-ad78-4521-bf5c-64f9091d4bb8_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_c7b640ed-9fde-4eb4-9299-1af9313f2547_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_srt_ConsolidationItemsAxis_32199b45-e882-4de1-925a-44c3c6608d42_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_77b9f933-9a15-45bc-a8ff-c3d70af630fa_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a88b34f1-923c-49e2-a6f2-9eea91c1e6e4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_TreasuryStockValue_9d6f9380-0ed2-4480-b5ba-f0a53ba8974e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cost of 3,797 and 3,778 common shares held in treasury in 2024 and 2023</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" 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_a3eebd18-69fa-44f2-b3a1-29a0b7ddaf06_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, net of allowance of $5,578 and $5,572, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_43a6d7e9-5364-45e2-b933-d3008760dfda_totalLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, net</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" 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_644d759d-cddc-4534-8f04-032840eb3990_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_PrivatelyHeldUtahBasedCompanyMember_f7a39a5f-8946-4878-80ed-046e133cdb1d_terseLabel_en-US" xlink:label="lab_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Privately Held Utah-Based Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:href="rock-20240331.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_rock_A2022SeniorCreditAgreementMember_d6d627da-fe08-42f1-bd64-85b593afcaa3_terseLabel_en-US" xlink:label="lab_rock_A2022SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">2022 Senior Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember" xlink:href="rock-20240331.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_aa32aeeb-d157-456d-b6fe-38ce22a0bef2_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_04ac3de5-2725-4352-9f86-6db91ec679f7_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_LondonInterbankOfferedRateLIBOR1Member_fee91d3e-3918-41f5-9f88-0f9277930c8f_terseLabel_en-US" xlink:label="lab_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">London Interbank Offered Rate (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" 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" 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-20240331.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_TreasuryStockCommonShares_dba4504c-66a9-4888-9100-8e987ae3fc6d_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury stock, shares (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonShares_04f31aa5-d3f8-488f-9902-3abb65f9aaa1_periodStartLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonShares_22d79895-e00f-47df-8744-90b85c7bdd36_periodEndLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance (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" 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_LineOfCreditMember_ee941652-35ff-490e-813f-06ee61d0c724_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit</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" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_765574c7-58b1-4973-8cff-9a1fab938921_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_3cc7ce4a-8d30-499a-96f8-1d25c6e7f246_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledContractsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_TradingSymbol_62b2dfa4-311f-44cc-9eaa-646564773f5f_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_e321f2c7-e8a9-4c49-848c-a3d6a9fa9c44_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_NoncompeteAgreementsMember_033f5a4e-f165-454f-ac88-31ff09ab949f_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DebtInstrumentApplicableRatePeriodAxis_70c96645-55a4-47c0-be59-87a04383d175_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Debt Instrument, Applicable Rate Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:href="rock-20240331.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_59aec528-ff76-44ce-9972-263355d77129_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_1843e011-93f0-4e95-91dc-ca17087472f6_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_bd6a65a5-dba3-41ee-a81a-96a18c16437a_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_ae2d6643-59c2-40f6-abf8-34b3a0eaba94_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income available to common stockholders</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" 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_6c2e6aeb-83a3-48a1-aefc-ac9ee7b4c90d_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_dei_EntityEmergingGrowthCompany_17ac3b8b-3cde-406c-8043-89bb5e447e38_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_9cd64bf1-34de-4803-8d26-4b93f86e5d57_terseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_be78a6bc-414b-48b0-98b6-8b6df4c6f450_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_ae407661-2f00-44ce-9d3b-5676a0eadc5b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt issuance costs</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" 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_416637aa-e361-411a-b736-b245b3aa1c93_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_9b888280-1ee7-40d6-8377-604ddea860d7_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_ScheduleOfProductWarrantyLiabilityTableTextBlock_dc587112-cf5d-4229-b8f1-9175d167c87c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d306c6cb-6868-4262-b805-a38370f413cd_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_9aaa06cc-4ebc-4182-8410-512268cd9adf_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_61908d91-d414-42b1-88ae-c8008f4c5dc4_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_StockRepurchasedDuringPeriodValue_223ce9e1-9347-4e7b-a331-e9b6fafd70ca_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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" 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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_d18cf6a8-492b-464a-9283-34661e850add_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">To be converted to shares (in units)</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Converted</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Converted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_a3babd35-1e1b-42c4-a275-b0703b98c6c5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Management Stock Purchase Plan</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0f12f7ae-6215-4929-8ffd-32f224ff01e3_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_StockholdersEquityAbstract_5c922df3-ceb8-4629-a744-7fadf94731d7_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ContractWithCustomerLiability_0063c5e1-638d-4427-8120-ff5efde8372c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unearned revenue</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" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_c412ae80-1135-47bf-a81a-fae280212d02_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_32ce176e-f27c-43d9-8b9c-c31bfbaae199_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_InventoryGross_231d23cf-2c33-49a5-aa12-cbb5cca9f13b_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_d56273c2-1b15-48e5-a8d6-e9a24b5ce01b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule Of Computation Of Basic And Diluted Loss 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" 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_LineOfCreditFacilityRemainingBorrowingCapacity_9702bcb6-0014-47da-be8a-7fad1c9f8854_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revolving credit facility, 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" 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_68c48ff0-ba8c-4011-ba03-f14ccb9aeadd_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_SecuredOvernightFinancingRateSOFRMember_52605795-fa2a-4cd4-b53e-e4e7159fb69d_terseLabel_en-US" xlink:label="lab_rock_SecuredOvernightFinancingRateSOFRMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Secured Overnight Financing Rate (SOFR)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember" xlink:href="rock-20240331.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_ShareBasedCompensation_f52ad91c-ef57-4705-a49e-3a3c0ceae8ac_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_5fc4a65e-cb7b-4a60-841b-de5c5cefcc4a_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</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" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_53907d85-46af-4751-adb6-7bba53ff91d3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">MSPP liabilities paid (in thousands)</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" 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_978cb615-2dec-4d56-9276-74667a1ef9f6_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_6e3667ff-cddd-4e53-8190-759d7b12c7f4_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Common shares</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" 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_rock_A2018PlanMember_39a3ada2-dceb-4b60-9399-118f8df56c55_terseLabel_en-US" xlink:label="lab_rock_A2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">2018 Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember" xlink:href="rock-20240331.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_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_e06d4fb6-404c-4358-bbf7-92c390e955f1_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_CityAreaCode_c8c1b9d1-4dca-47bc-af7d-3d3285bc14de_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_daaecb07-be46-4396-94f7-aa492c6dba56_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_a5d62a5d-c457-4151-9061-8712d1ea2ae8_terseLabel_en-US" xlink:label="lab_rock_AgtechMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Agtech</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember" xlink:href="rock-20240331.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_fdfc88d8-261e-45c0-983c-7d51753e2822_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_Goodwill_2a7a3fef-fb32-49cb-8218-9adfe16874c1_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_129c847f-358e-4d20-87c9-fa33838f44b1_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at December 31, 2023</link:label>
    <link:label id="lab_us-gaap_Goodwill_963962db-9c77-4155-bb0c-5a0d7384bbec_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at March 31, 2024</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" 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_StatementEquityComponentsAxis_c47561e5-e3d3-4c72-a234-a47ba7dd40f2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DebtInstrumentNumberOfDebtCovenants_a7d90ad1-2056-4a12-910b-26542b2c9fde_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentNumberOfDebtCovenants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_b3b2a52c-b03d-46a5-8f76-ada1e375aac8_terseLabel_en-US" xlink:label="lab_rock_AcquiredIntangibleAssetsTotal" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Acquired Intangible Assets, Total.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal" xlink:href="rock-20240331.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_0d4b1cac-ffe3-4319-be00-c7c808f35a7b_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_EntitySmallBusiness_9ef6362e-ef82-464d-8323-15f5ff2b74c9_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_WeightedAverageNumberOfSharesOutstandingBasicAbstract_919c1dbc-4a94-4597-9bbc-1c331696222f_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_da119cc7-b537-45a0-b3f9-ce8e77ab5d32_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2028</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" 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_srt_MinimumMember_ffc5c103-3417-4b1f-9d7b-f04d9b05b197_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StandardProductWarrantyAccrualPeriodIncreaseDecrease_2e753e65-ddb0-4c0b-8001-629381e692d1_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provisions for product warranties, net of reductions</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Product Warranty Accrual, Period Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_678e0207-bbad-4882-bf09-0ad5b2e7c106_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_731c176a-52a0-491e-9799-10214307f223_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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" 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_PropertyPlantAndEquipmentNet_c0caf379-a92b-4e8d-97e8-d38f681ee718_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_158d0883-cfb6-460b-b479-bf11382e5ff6_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivablesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_96cbf135-56ae-492f-85bf-e396ac18e7e2_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_9c471374-2bc7-4ebe-9725-74088edc6c98_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_TransferredAtPointInTimeMember_53bb4cc9-0f01-45eb-b78c-e976a75efb03_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StatementOfCashFlowsAbstract_da4a873f-ac7f-4368-8f56-19718ad2b2e8_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AssetsAbstract_2bae3d56-3dd8-4cb2-a568-cb3815ce7a61_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OperatingLeaseLiabilityNoncurrent_70b07f54-859b-42d1-b752-289a5d48fab0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_GoodwillAndIntangibleAssetsDisclosureAbstract_3e7d16ff-e55c-446e-a234-beecba939b2e_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_447d1be7-cfec-472a-8d35-afd5492423a9_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RestrictedStockUnitsRSUMember_6efa8a1f-51e5-47ce-ad69-76b778d5bafe_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DebtInstrumentNameDomain_680f7316-6af7-4686-b9a2-ddb71f622394_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_TrademarksMember_40fc26d1-9b29-4800-acf1-40a8413d9c1f_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_InfrastructureMember_b1857cf4-ff14-4d99-a84c-a8aad7b92d2d_terseLabel_en-US" xlink:label="lab_rock_InfrastructureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Infrastructure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember" xlink:href="rock-20240331.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_1c363093-d629-47a3-9f9f-9b6e34d3e40a_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_StandardProductWarrantyAccrual_5e655982-3e68-469b-be03-8554527514a1_periodStartLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrual_2f09e0d0-a7bf-4709-ae44-e6bf359fc9cd_periodEndLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrual_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Product Warranty Accrual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrual" xlink:to="lab_us-gaap_StandardProductWarrantyAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions_74473ab8-36b8-4f43-93dc-780be69bbeb0_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_2a1f7057-cb98-4f12-9f6d-67e8298b3c28_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">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" 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" 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-20240331.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_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_cb17e2c0-578c-49b0-9188-20627463b507_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (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" 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_83a6b29d-4f15-4cef-869a-68e0ad1bf635_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_e3961d0e-81a9-41ff-b69e-406af0438f73_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_rock_SellingGeneralAndAdministrativeExpenseMember_1a22efb1-b85f-4838-a33c-d04921d0c064_terseLabel_en-US" xlink:label="lab_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_805b52e5-2f72-49ee-aced-de7c65acc7c3_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_ShareBasedCompensationAbstract_ab9e02cf-0435-458b-baed-e6a6f8369712_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OtherAssetsNoncurrent_c3f3fd8a-c68e-449d-aaa5-f8d3baa6db6d_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_6aa2eaba-be87-42b4-a795-aeb748565fa4_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessExitCosts1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exit Activity</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" 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_261194a3-477f-462e-baed-de3e2e84dedb_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DebtInstrumentTable_9b761b96-c57c-436e-af72-14f647376a4c_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_f9f1437e-918f-43de-b4b5-7e84280d55d6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_Revenues_d459618c-3d7b-4c4b-afd9-bd6f00b5167f_terseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_ProductWarrantyDisclosureTextBlock_e2153d6c-898d-4fe2-bd3d-a82457afe920_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PRODUCT WARRANTIES</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_4a82c685-e865-4818-99e9-c8a14ac6c434_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_IncreaseDecreaseInInventories_bb8cbb77-e445-4b7b-83cd-caeff1015c6b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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" 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_dei_EntityAddressCityOrTown_e849bb7e-d2b0-4b91-ac75-a96db395986c_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_0ab37330-808a-4495-883a-24c33e0594ef_verboseLabel_en-US" xlink:label="lab_us-gaap_UnpatentedTechnologyMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Unpatented technology</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" 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_ScheduleOfSegmentReportingInformationBySegmentTextBlock_9e269dc8-2eba-4980-b8b4-29a2f3648fb9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reconciliation Of Sales To Earnings Before Income Taxes by Segment</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandbyLettersOfCreditMember_4740363c-6492-4e1d-96d9-dd1b894242f6_terseLabel_en-US" xlink:label="lab_us-gaap_StandbyLettersOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_880c4671-22de-4243-9aa5-c15adf9d74d6_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_65d18976-59de-4aab-b0e8-73c083c5aad4_periodStartLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_4502b10b-aff6-4717-86d3-e05958b4b706_periodEndLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</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" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_af257a88-4160-45ed-b27e-24c74684eb2f_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Antidilutive securities excluded from earnings per share calculation (in 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" 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_4d9589d1-a0de-4ab1-9300-277a722a76b5_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_0d0de113-ed90-4ad0-a63a-acd9e25f1c5e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number&#160;of awards (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" 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_c180954c-d666-4717-be73-ff90fc42ebb5_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_DocumentQuarterlyReport_7f099c03-fb76-455c-88a8-56ac2d41b47b_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCharges_689ea7e2-ff13-4a91-b7df-b7dcf8e9245a_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total</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" 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_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_c50d82a9-ef1b-43c9-a8e3-2ea2b8c4488b_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_aa4716bb-43dc-47ed-8657-0f25f028e551_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_1594e633-2f95-45fa-9002-aaeffb253027_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of shares authorized (in shares)</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" 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_GoodwillPurchaseAccountingAdjustments_ce185b90-0889-4f9f-85e0-cdb38b6a44e2_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments to prior year acquisitions</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" 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_de181229-2e4d-4087-9f07-3eb4ae5220ef_terseLabel_en-US" xlink:label="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_GoodwillLineItems_98575572-4fa9-4271-9034-8173e243a8c1_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_cadda29e-29c1-4259-be07-ada6b995ff70_terseLabel_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfBusinessAcquisitionsByAcquisitionTable_4769a321-0ea3-4f4c-a082-aef33af14373_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_cef12802-8047-4f66-9b3c-781523dc6e74_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_ea9c7a15-fd26-4604-97ef-98bb3dd19da0_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_IncreaseDecreaseInAccountsPayable_08d690dd-2438-4219-b273-5bfc837b5db1_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_840554ca-c8ce-4b0d-9789-a50fd190361e_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_TimingOfTransferOfGoodOrServiceAxis_077fc98a-f8bc-407c-9c3a-0e6d6823385d_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_309971f2-b226-44e3-ab11-d47a85264ead_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_c0709d7b-4d06-4710-829b-408b5d0fcc72_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_InventoryRawMaterials_9dd77020-5fc1-4507-a168-606c59e4506c_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_dei_EntityFileNumber_39dd057b-976b-4b1f-bd84-0d0fc80acb0e_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_92cd470e-92c6-4ac7-b62d-eca18ac2a780_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_NonCurrentLiabilitiesMember_4030209a-8ebd-4f06-bb20-c18704cc1f45_terseLabel_en-US" xlink:label="lab_rock_NonCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Non Current Liabilities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember" xlink:href="rock-20240331.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_65f93d8c-708f-4376-a8da-c4b6625a7a1b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_AccruedEquityBasedCompensation_a4ee6ea6-4e06-4994-8e14-ac1285fca8e2_terseLabel_en-US" xlink:label="lab_rock_AccruedEquityBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Accrued Equity Based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation" xlink:href="rock-20240331.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_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_5785c0ff-160a-45fe-a46f-8e1157d00b80_terseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AmortizationOfIntangibleAssets_85ac6e36-1c13-4727-87f4-fdd5302c7b68_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization expense</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" 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_36cfad39-7c22-404b-b83d-292cc1cddf2b_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_BusinessAcquisitionAcquireeDomain_ba5e7977-c480-4232-a2ee-c98b644d08b1_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_8fa03efa-1830-4091-87ec-5e85a1dfd664_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_65506d9f-e89b-4dfe-9a39-11387c27b1d1_terseLabel_en-US" xlink:label="lab_rock_ApplicableRatePeriod2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Applicable Rate Period 2</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member" xlink:href="rock-20240331.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_NewAccountingPronouncementsPolicyPolicyTextBlock_8e989210-59ae-4218-905a-3112c5df3d62_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_MeasurementInputTypeAxis_adeecf65-5851-4121-9706-7d58fa2b560c_terseLabel_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_64e1d23b-4c27-4cf4-8971-76f89921362b_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_22ad642f-a824-4c08-94e6-58d64ad640f7_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_32d8aa98-7065-454f-bb1c-9dee13801d91_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_d11fb9c7-77cd-437c-ba83-7950bedbdd0c_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b4ba0316-7094-4762-abfb-8b9eb6cc5944_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of period</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" 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_bce3e51e-970f-4d7c-ac9b-2171b7731f25_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_3235e6b0-6b64-4be2-858f-958beef3e306_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_774294fd-ab91-45b1-87bf-210bdb30bd25_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted stock units credited (in shares)</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" 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_A2019SeniorCreditAgreementMember_4558761b-56cb-4e5b-b347-1c24b1240bc1_terseLabel_en-US" xlink:label="lab_rock_A2019SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">2019 Senior Credit Agreement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember" xlink:href="rock-20240331.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_ProvisionForDoubtfulAccounts_7bc774cf-d97c-4cda-946d-4740e121a4b0_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_3ac15305-382b-4803-be2d-25dcebd1fa3f_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_CommonStockSharesIssued_23961bb8-6fe3-4353-b28f-cc0d89b1f543_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_d77599ea-9a31-4dc4-a938-179903f5d37c_terseLabel_en-US" xlink:label="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Acquired Intangible Asset Amortization Expense</link:label>
    <link:label id="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule Of Acquired Intangible Asset Amortization Expense [Table Text Block]</link:label>
    <link:label id="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_documentation_en-US" xlink:label="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Schedule of Acquired Intangible Asset Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:href="rock-20240331.xsd#rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:to="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_277370f0-2d8d-4cdb-82e5-2efc0ddaac69_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ec4facba-c2d4-4590-90a5-8cf592b7797b_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_092d2e9a-f308-4884-82dc-43604702dafb_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_889aa7ef-b4df-49e7-bea8-694e52132f0c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Billings in excess of cost</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" 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_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_f4724150-f145-4e9c-b9f2-1eb010448900_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive 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" 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_dei_SecurityExchangeName_5a4b33f8-0de3-48f2-a286-610500fb9263_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DeferredIncomeTaxExpenseBenefit_4c985039-d299-4571-bb9e-f424d8e895bf_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provision for (benefit of) deferred income taxes</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" 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_LongTermDebt_8f64cdc7-ce04-4773-bf70-a010ec4dab1e_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long term 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" 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_rock_NonEmployeeDirectorsPlanMember_11949fe7-b20a-4117-b596-82e8744c97a3_terseLabel_en-US" xlink:label="lab_rock_NonEmployeeDirectorsPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Non-Employee Directors Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember" xlink:href="rock-20240331.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_1836a4d8-5906-45ff-988b-dab514a42643_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_158fb38d-eb98-4d40-bfd4-084f14a7564c_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss</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" 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_SegmentReportingInformationRevenueAbstract_7ec2fe7a-08e1-4434-b17f-478a5e58b4bd_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5a001050-b775-41de-b664-526d520eb9c0_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2027</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" 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_5cee04bf-6069-4e4a-b927-f977950f754e_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcess" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_487600ae-9489-48fc-be89-db8523e66f19_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forfeited in period (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" 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_srt_MaximumMember_64b745ee-d1b8-4de5-917c-0bf8f62578f0_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_4406d25e-f676-4263-b232-e3d1c1cefe08_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_AllowanceForDoubtfulAccountsReceivable_7c14ab76-fb9f-4d8b-b343-d212d0552151_periodStartLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance as of January 1, 2024</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_f9795414-c5b5-403a-b07b-4b3ef559c673_periodEndLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance as of March 31, 2024</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_def44119-3d53-4a63-a790-08f2945676e4_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Summary Of Exit Activity Costs And Asset Impairments</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" 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_dei_DocumentType_b5e9be7a-8951-4066-a81a-ae7f9a61cbc9_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_MovementInStandardProductWarrantyAccrualRollForward_7ecd0151-3262-467a-bd9f-d70b5f5a9311_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_ae86dad8-b8d9-48ff-9f25-aef180722d73_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_57d39dbc-f815-4fa2-835d-efe2f6a6caf8_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_EntityRegistrantName_3931c125-aeca-4df4-b9ff-7b215cbcc4df_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_8e82f421-2d4f-4ea4-9eff-641d59ffabcd_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock options and stock units (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" 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_5bf7284c-b527-4008-9e2d-3059bc31791f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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" 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_176daa06-9f8c-43ae-9732-7a84edc4d1d2_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2026</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" 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_us-gaap_AntidilutiveSecuritiesNameDomain_b5bafba0-8fc7-4347-b938-3f9fd8bc9189_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_CostOfSalesMember_d73afa2e-690b-4da3-900b-1764573f6147_verboseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_aff3e6da-f3d6-46c4-987f-b30bd8cafeb7_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_PaymentsForRestructuring_0a5b1809-ed7f-46b4-86ef-aab3c0244736_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" 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" 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_rock_DebtInstrumentApplicableRatePeriodDomain_b1ece786-7c39-4eea-ab54-76576639fee3_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_dei_DocumentPeriodEndDate_588d9ff6-3a89-48a0-a927-90a589ce4706_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_9715de2b-92c1-4c78-9c54-cafc33a17d65_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net settlement of restricted stock units</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_b6c12523-20f7-411c-9a46-1b0619557f0a_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RepaymentsOfLongTermDebt_24494113-3e5c-47ab-98d9-815c1de542c4_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" 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" 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_AllowanceForDoubtfulAccountsReceivableCurrent_84cd7cdf-a961-4689-a863-895100e5ef5a_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, allowance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_a6af46c5-c947-4228-8792-16da06ffd297_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Less allowance for doubtful accounts and contract assets</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" 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_TreasuryStockCommonMember_7b5f8730-2a44-43ef-943b-5556cc3dfc00_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury&#160;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" 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_8fc83df1-f710-4779-9bc9-379506da2a93_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_VariableRateAxis_7bbb62a8-a729-4423-aeb1-20172b27ba9e_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_FiniteLivedIntangibleAssetsGross_e4d9280e-1552-4c60-9fed-ce895ee15097_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_401d8a2b-d942-419c-8cf0-d5f6e40da43c_terseLabel_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue recognized that was in contract liabilities at the beginning of the period</link:label>
    <link:label id="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_label_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Including New Contract Revenue, Recognized</link:label>
    <link:label id="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_documentation_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Including New Contract Revenue, Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:href="rock-20240331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:to="lab_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_e8716bd8-0476-49a4-8862-7d8ded34c6b2_netLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_03586543-f2af-4f37-bc0c-b17c32385f92_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_IncomeStatementAbstract_2258165f-88e7-428d-bd0c-26fad7e37764_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_7c64eebd-529c-4637-81ae-238d0cd1b094_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_AllowanceForDoubtfulAccountsReceivableWriteOffs_a9fa600c-524e-4dcf-afc3-8e7c0dfdbc90_negatedLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts written off against allowance and other adjustments</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_1c790ec3-a56e-4c42-a2d4-8e8c54708627_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">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" 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" 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-20240331.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_dei_Security12bTitle_d8fe0516-09f4-4034-be34-dd7c8249f70a_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_57da66e9-b7c8-4420-a6f1-b345ed0d4f64_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_3aa5b6ca-edfc-40d8-960f-dc66aa79ddf2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_BusinessCombinationDisclosureTextBlock_32c15adf-2e3a-4ef1-8a41-99056c13ab3c_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">ACQUISITION</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" 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_DisaggregationOfRevenueTableTextBlock_6209bb93-1eee-4b4f-a58a-86d24417a9df_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_87a13331-b57b-48e8-a398-db003ebcf4a1_verboseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_8838d69d-38d4-44db-8cad-6f17c4c7c310_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_InventoryDisclosureTextBlock_1343aa6c-b655-4792-91b5-7f00f4eccfc5_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">INVENTORIES, NET</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" 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_us-gaap_OtherAssetsCurrent_f97f452c-b698-4065-a503-b075f81a0f96_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_86e82cc8-1801-42cf-ac94-a679c6182df2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_RestructuringChargesRecoveries_0d75cfd6-3a15-4224-a3d4-a5c2425d7965_terseLabel_en-US" xlink:label="lab_rock_RestructuringChargesRecoveries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_rock_RestructuringChargesRecoveries_label_en-US" xlink:label="lab_rock_RestructuringChargesRecoveries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring Charges (Recoveries)</link:label>
    <link:label id="lab_rock_RestructuringChargesRecoveries_documentation_en-US" xlink:label="lab_rock_RestructuringChargesRecoveries" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Restructuring Charges (Recoveries)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringChargesRecoveries" xlink:href="rock-20240331.xsd#rock_RestructuringChargesRecoveries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RestructuringChargesRecoveries" xlink:to="lab_rock_RestructuringChargesRecoveries" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ForeignCurrencyRateFloorMember_7e7e3b04-58d0-48c1-9c77-61f415f13722_terseLabel_en-US" xlink:label="lab_rock_ForeignCurrencyRateFloorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Currency Rate Floor</link:label>
    <link:label id="lab_rock_ForeignCurrencyRateFloorMember_label_en-US" xlink:label="lab_rock_ForeignCurrencyRateFloorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Rate Floor [Member]</link:label>
    <link:label id="lab_rock_ForeignCurrencyRateFloorMember_documentation_en-US" xlink:label="lab_rock_ForeignCurrencyRateFloorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Foreign Currency Rate Floor</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ForeignCurrencyRateFloorMember" xlink:href="rock-20240331.xsd#rock_ForeignCurrencyRateFloorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ForeignCurrencyRateFloorMember" xlink:to="lab_rock_ForeignCurrencyRateFloorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_24424f66-95af-4938-85cc-28f9a46db84b_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dccbd4e8-7e15-460e-898b-077037301499_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_4f0cf220-1005-4408-86ed-656c93ab0334_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_EntityTaxIdentificationNumber_8a4c01d2-7e8b-461b-9ca5-f32914335221_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_GoodwillForeignCurrencyTranslationGainLoss_9fdfba54-477d-4dd9-951f-8e6cec3812c1_verboseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_048688e5-6ffd-494d-ae1f-92f704edc4f0_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_8c0f2496-5f2c-4c4b-8777-781472c44e6f_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Inventories, net</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" 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_us-gaap_CashAndCashEquivalentsAtCarryingValue_19a0a54a-d688-49f3-b205-a09dd6cd7a96_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_ContractsReceivableGrossCurrent_8d6b127f-c621-4d76-9c8c-c6801520d617_totalLabel_en-US" xlink:label="lab_rock_ContractsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total accounts receivable</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" 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" xml:lang="en-US">Contracts Receivable, Gross, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent" xlink:href="rock-20240331.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_PaymentsToAcquireBusinessesNetOfCashAcquired_903e6dee-707a-4899-a9e5-77aba25c6179_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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" 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_InterestIncomeExpenseNet_7c6555ff-c307-4db2-b08c-bdc866c54090_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Interest (income) expense</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" 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_srt_RangeAxis_6d7a27ca-7e9f-40eb-908e-061400b02545_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_9415a0bd-727a-4fcc-9a2c-c9c019163290_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_CreditFacilityDomain_2190335e-8838-4eed-85c0-4882fa46c6f6_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_EntityInteractiveDataCurrent_8b98e174-80b4-40d1-b928-0962c5647dbd_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_7406e958-e48c-4e9a-9d00-10b1447ab0dd_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_a05bff14-5425-477e-9e39-9242566b2118_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">LONG-TERM 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" 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_DebtInstrumentBasisSpreadOnVariableRate1_ff186973-1ae1-4a21-bc2f-28dd85d492cd_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_rock_ManagementStockPurchasePlanMember_b27e1340-832b-48b0-ba80-d739d2d296f3_terseLabel_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Management Stock Purchase Plan</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" 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" xml:lang="en-US">Management stock purchase plan [Member].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember" xlink:href="rock-20240331.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_PaymentsForRepurchaseOfCommonStock_1ccb6a85-c893-41b4-8dba-2923eacf97d6_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" 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" 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_d840ccdf-b666-4555-80a4-8e469b36a345_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_WeightedAverageNumberOfDilutedSharesOutstanding_c1c9e3fa-b29c-4cea-8c41-c3a02306b277_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_408deb54-471e-413d-9a5e-45a9a5b51f01_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares outstanding, diluted (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" 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_InventoryDisclosureAbstract_3fc61849-e9ab-4d9a-8770-268e3a6d1a98_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_c1d8d1d8-ca21-443f-85aa-6cfd695a2d3a_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_8445f68f-8521-436e-82a0-7a4db2e60055_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b66217f7-1b56-4045-99c6-7aa58af63bba_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ea3898bf-b419-4bda-9433-38f9b31a09b3_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_625fefae-5fba-4cfc-bc7b-ccac037e61e4_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RevenueFromContractWithCustomerTextBlock_15038b94-5e45-458a-87d9-422f42b9ef45_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_f311ca14-8ac2-45ae-92ae-ecd3ab72d163_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of property, plant, and equipment, net</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" 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_DebtInstrumentFaceAmount_7bf34032-272a-4e67-863c-a3fb904508c5_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_f0184924-20c5-446a-87e8-d0f558187e0a_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_AdditionalPaidInCapitalMember_f0e99d6b-b07b-440b-9ef9-8f514a625910_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_NoncashProjectAbandonmentCostsReversalOfCosts_3cac2345-386f-4dfa-aa13-d794155ea4d5_terseLabel_en-US" xlink:label="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exit activity recoveries, non-cash</link:label>
    <link:label id="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts_label_en-US" xlink:label="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncash Project Abandonment Costs (Reversal Of Costs)</link:label>
    <link:label id="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts_documentation_en-US" xlink:label="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Noncash Project Abandonment Costs (Reversal Of Costs)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:href="rock-20240331.xsd#rock_NoncashProjectAbandonmentCostsReversalOfCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:to="lab_rock_NoncashProjectAbandonmentCostsReversalOfCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_81a46f62-54ed-4c17-884e-352cf44daaed_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_217a2633-50a7-4003-baef-ee362ba0f73e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ProductWarrantiesDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RenewableEnergyandConservationMember_ea4c6599-2c7a-4b0a-be9b-e6d9ec878320_terseLabel_en-US" xlink:label="lab_rock_RenewableEnergyandConservationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Renewables</link:label>
    <link:label id="lab_rock_RenewableEnergyandConservationMember_label_en-US" xlink:label="lab_rock_RenewableEnergyandConservationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Renewable Energy and Conservation [Member]</link:label>
    <link:label id="lab_rock_RenewableEnergyandConservationMember_documentation_en-US" xlink:label="lab_rock_RenewableEnergyandConservationMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Renewable Energy and Conservation [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewableEnergyandConservationMember" xlink:href="rock-20240331.xsd#rock_RenewableEnergyandConservationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RenewableEnergyandConservationMember" xlink:to="lab_rock_RenewableEnergyandConservationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_10603022-6e1f-4963-ab30-fa94ae38c7fe_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_da53453e-15c6-4151-8d09-a5944a6274ff_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_2bcbeffc-cf77-47fb-be93-f690bb9413ef_terseLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_EntityAddressStateOrProvince_c6ff0b77-7f65-4c0d-905e-713452969e9c_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_dei_CoverAbstract_0f8b6b2f-a81b-4052-9410-c7613671d59b_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_db8ccf03-d297-4c73-886a-45e261176dd0_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_320ebc2e-77c2-4b27-8cc1-0818a212bd97_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_bf0dde14-d9ca-4ad1-af74-f60c3e30213b_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Grants based on targeted thresholds, percent</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" 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" 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-20240331.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_IncomeLossFromContinuingOperationsPerBasicShare_66abba70-7822-4505-a284-5196179a8184_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (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" 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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_42dd1052-6966-4518-88ca-7c62ba24b86f_terseLabel_en-US" xlink:label="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">ACCOUNTS RECEIVABLE, NET</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" 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_a837f0c4-ae03-440e-a99e-98065d906291_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_RestructuringSettlementAndImpairmentProvisionsRecovery_a8ed16b2-1165-4377-ad91-645b0b18e799_terseLabel_en-US" xlink:label="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset Impairment</link:label>
    <link:label id="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_label_en-US" xlink:label="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring, Settlement and Impairment Provisions (Recovery)</link:label>
    <link:label id="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_documentation_en-US" xlink:label="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Restructuring, Settlement and Impairment Provisions (Recovery)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:href="rock-20240331.xsd#rock_RestructuringSettlementAndImpairmentProvisionsRecovery"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:to="lab_rock_RestructuringSettlementAndImpairmentProvisionsRecovery" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_41573eae-fd90-467a-abe1-6828a493c905_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025</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" 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_rock_ApplicableRatePeriod1Member_e9a5572c-dc61-4953-b2a9-8e28a83e6474_terseLabel_en-US" xlink:label="lab_rock_ApplicableRatePeriod1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Applicable Rate Period 1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member" xlink:href="rock-20240331.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_CommonStockSharesOutstanding_187bd81b-40a0-429c-90f4-0c5c14575219_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_273af8ae-9f5e-48cc-8049-6b0d789d9d71_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_c1a17dca-491a-4914-8016-2e31346cebae_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance (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" 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_RestructuringAndRelatedActivitiesAbstract_1f1da289-9bac-4aaf-9e31-da3f3fc6f0f1_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_036f93d2-2cee-4bb0-993b-4a0ac99b333a_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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" 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_SegmentReportingDisclosureTextBlock_4d3eda49-38b8-4169-a557-e1b08b6108fa_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OtherOperatingActivitiesCashFlowStatement_05d3ad6c-49fe-4465-a940-da4c63a30717_terseLabel_en-US" xlink:label="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other, net</link:label>
    <link:label id="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement_label_en-US" xlink:label="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Operating Activities, Cash Flow Statement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c707f4f6-7a3a-4468-8652-bb0352e3c089_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" 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" 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_7b2b62f3-86cf-4bf5-90cc-b75d59686c36_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_CommonStockParOrStatedValuePerShare_669461c3-87b1-444e-9429-891379184cd5_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_EquityComponentDomain_e61a7515-bcc4-45f9-89e8-10ca9fd1427d_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_fabe681d-991d-4aea-9ff8-76b6f71cc545_terseLabel_en-US" xlink:label="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" 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-20240331.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_08eca0a3-14bf-44c9-8b34-f1efd4f65bce_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in 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" 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_b9154cdf-2a67-429e-af1c-cedeca65b085_terseLabel_en-US" xlink:label="lab_rock_Amended2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Amended 2018 Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember" xlink:href="rock-20240331.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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_86047446-0c9e-4972-993f-5c535c185f30_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_rock_AccruedExpensesCurrentMember_ca64771d-c1b1-4a3e-be48-535e325c3532_terseLabel_en-US" xlink:label="lab_rock_AccruedExpensesCurrentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Accrued Expenses, Current [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember" xlink:href="rock-20240331.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_us-gaap_DebtInstrumentAxis_bfb101a7-8ee6-403a-a6e9-c9d459773266_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_DebtInstrumentLineItems_8d0acf8e-7b1c-4768-a272-a8d19bcc56ed_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_LongTermDebtAbstract_56301921-3ce5-4c6a-b39e-0ec82ba26421_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_ccabef91-baa8-49fb-9319-fcdcb74c2380_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7cc116a4-b203-492e-9fac-f92ef568285a_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Diluted (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" 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_eba2872c-a706-431c-8c75-a2bf86170c89_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_EffectiveIncomeTaxRateContinuingOperations_7773c098-4462-462a-9036-4d9019043757_verboseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Effective tax rate</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" 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_OperatingIncomeLoss_54455c03-cab5-4d35-9153-5029f7106106_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_80aa7ac5-1d44-4bfc-8516-b849342642d7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total consolidated 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" 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_MeasurementInputTypeDomain_6e542c62-6bd2-470c-ac82-878cf987ac22_terseLabel_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_fc33d36a-209e-4e0e-bf38-e9a3237f1722_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_BusinessExitCostsRecoveries_a80a1022-15b0-433e-a09f-03440f5b6285_terseLabel_en-US" xlink:label="lab_rock_BusinessExitCostsRecoveries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exit Activity</link:label>
    <link:label id="lab_rock_BusinessExitCostsRecoveries_label_en-US" xlink:label="lab_rock_BusinessExitCostsRecoveries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Exit Costs (Recoveries)</link:label>
    <link:label id="lab_rock_BusinessExitCostsRecoveries_documentation_en-US" xlink:label="lab_rock_BusinessExitCostsRecoveries" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business Exit Costs (Recoveries)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessExitCostsRecoveries" xlink:href="rock-20240331.xsd#rock_BusinessExitCostsRecoveries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_BusinessExitCostsRecoveries" xlink:to="lab_rock_BusinessExitCostsRecoveries" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_27b3266d-550e-40a6-9ed4-73b5617555df_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">BASIS OF PRESENTATION</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RenewablesMember_4a9e6cee-8371-4668-96bf-ace934f0b4be_terseLabel_en-US" xlink:label="lab_rock_RenewablesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Renewables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember" xlink:href="rock-20240331.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_cab26578-fe33-407c-9f12-0b79e75c37c9_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Loss</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" 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_us-gaap_CostOfRevenue_a792beab-4d2b-4768-9c83-0fbc68bdd6b8_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_294d8952-9e2c-41e3-be58-329daa620b6f_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SeniorCreditAgreementMember_ae35be90-eccc-42ab-b274-25ad9a7366e3_terseLabel_en-US" xlink:label="lab_rock_SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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" xml:lang="en-US">Senior Credit Agreement [Member].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember" xlink:href="rock-20240331.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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_af60f60b-4d65-41a3-af19-fe9e70173ca5_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_StatementBusinessSegmentsAxis_ac3fe7ae-b74d-4620-aeee-94c376482f8d_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_4ad872ec-6d41-415a-846b-a00ca8b0e0c1_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_PlanNameAxis_54e52cde-3955-4ed4-bbcb-42cb19b26f56_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_9597c527-19c1-4377-9bd1-b13a648019a6_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</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" 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_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_56695076-8ef8-495c-aa14-6ba7b99e63b8_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_CustomerRelationshipsMember_56dbdc64-047f-4d7c-90ef-a40e80326a8b_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_EarningsPerShareAbstract_c84e3909-d716-4b23-aae3-380372625ad7_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net earnings per share:</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" 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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_572c05f7-81e0-4761-a449-948a8378684f_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Target amount granted, as a percentage</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Units To Be Converted, Percentage Of Target Amount</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Units To Be Converted, Percentage Of Target Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_dd0bb4bc-b603-479a-bd0e-6f186fc63db4_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Common stock, $0.01 par value; authorized 100,000 shares; 34,266 and 34,219 shares issued and outstanding in 2024 and 2023</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" 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_TypeOfRestructuringDomain_8f6aa69a-d9ff-4ea7-9fbe-b5afbf72ba0a_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_e407605c-4bd4-42bc-b92d-0f4625a5f919_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>rock-20240331_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:fcd45160-0d54-4626-98a9-997dbd93f513,g:4c5b786d-c570-4818-992b-756612ade2cd-->
<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-20240331.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_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_ec8d947d-a4bd-4ba0-b2c4-01dd5ec62386" 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_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentType_ec8d947d-a4bd-4ba0-b2c4-01dd5ec62386" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_0bc34aea-2638-423d-92dd-53f28acf2ab7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentQuarterlyReport_0bc34aea-2638-423d-92dd-53f28acf2ab7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_75e55f07-b8e6-423f-a706-23b191319c5b" 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_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentPeriodEndDate_75e55f07-b8e6-423f-a706-23b191319c5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_265d51a0-976d-4d85-9d37-a86fba8bca7e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentTransitionReport_265d51a0-976d-4d85-9d37-a86fba8bca7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_1aa8556b-66c7-46c5-81fb-d7d6f053ff47" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityFileNumber_1aa8556b-66c7-46c5-81fb-d7d6f053ff47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_a549406e-33b7-4dc8-aa22-0c1e01ecf3d7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityRegistrantName_a549406e-33b7-4dc8-aa22-0c1e01ecf3d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_6429b18e-b87b-4394-9d95-25bf0a125e73" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityIncorporationStateCountryCode_6429b18e-b87b-4394-9d95-25bf0a125e73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_07801566-8d6f-441c-9eb1-167e8e02a37a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityTaxIdentificationNumber_07801566-8d6f-441c-9eb1-167e8e02a37a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_79c870ee-b51b-4b8e-ab40-3d353d6f382e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityAddressAddressLine1_79c870ee-b51b-4b8e-ab40-3d353d6f382e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_7c6db41c-0307-4443-9333-e3ab564ba3b9" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityAddressAddressLine2_7c6db41c-0307-4443-9333-e3ab564ba3b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_ecdc254d-557b-4928-a6e2-9e3156c6e32c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityAddressCityOrTown_ecdc254d-557b-4928-a6e2-9e3156c6e32c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_c022dc0a-ab65-479b-aa54-2ec2e5120726" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityAddressStateOrProvince_c022dc0a-ab65-479b-aa54-2ec2e5120726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_f66f73ae-7ad8-437c-add8-6a6f1b17c6ac" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityAddressPostalZipCode_f66f73ae-7ad8-437c-add8-6a6f1b17c6ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_740ba4e9-ddc9-4715-8a25-93eaf2f237d2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_CityAreaCode_740ba4e9-ddc9-4715-8a25-93eaf2f237d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_fbec14b1-f2d5-4252-a97c-753a6595af8d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_LocalPhoneNumber_fbec14b1-f2d5-4252-a97c-753a6595af8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_394bec90-3180-405b-994a-4eeb3e450859" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_Security12bTitle_394bec90-3180-405b-994a-4eeb3e450859" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_f74134a7-bff4-4da0-8294-7c418758af94" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_TradingSymbol_f74134a7-bff4-4da0-8294-7c418758af94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_2f8792d2-a505-4a4c-8114-38538110d769" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_SecurityExchangeName_2f8792d2-a505-4a4c-8114-38538110d769" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_ebcff6f9-0d67-4b18-b747-ae93bfdbe8b2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityCurrentReportingStatus_ebcff6f9-0d67-4b18-b747-ae93bfdbe8b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_66167e29-9a04-4d5d-9176-13dbea6c1dc4" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityInteractiveDataCurrent_66167e29-9a04-4d5d-9176-13dbea6c1dc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_d58f47e2-3577-4072-847f-5dd4e5936081" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityFilerCategory_d58f47e2-3577-4072-847f-5dd4e5936081" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_e5b2bbef-bbc7-45d9-97f1-2e32794cc539" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntitySmallBusiness_e5b2bbef-bbc7-45d9-97f1-2e32794cc539" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_8e63c8bc-3455-4e07-9fc1-6bdda453e798" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityEmergingGrowthCompany_8e63c8bc-3455-4e07-9fc1-6bdda453e798" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_089b2fde-e296-40e6-bff0-b9428c3fd5f0" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityShellCompany_089b2fde-e296-40e6-bff0-b9428c3fd5f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_87b5236d-3676-486e-9567-fd3082e0c801" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_87b5236d-3676-486e-9567-fd3082e0c801" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_af26a2fc-b4fa-45f8-9c81-824f1c1e87ed" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_AmendmentFlag_af26a2fc-b4fa-45f8-9c81-824f1c1e87ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_d07f3eb3-6aa9-44c9-9311-b244a36a9e9a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentFiscalYearFocus_d07f3eb3-6aa9-44c9-9311-b244a36a9e9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_839a78b7-5c0d-4b40-90a0-323e8aa5c549" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_DocumentFiscalPeriodFocus_839a78b7-5c0d-4b40-90a0-323e8aa5c549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_7603abaa-faa0-443a-b875-30f884622c71" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_EntityCentralIndexKey_7603abaa-faa0-443a-b875-30f884622c71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_08b30ba8-06ea-41b1-a52d-38e2f29d6bb1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8a9a682c-934c-4228-8a76-38e7f240e1fe" xlink:to="loc_dei_CurrentFiscalYearEndDate_08b30ba8-06ea-41b1-a52d-38e2f29d6bb1" 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-20240331.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_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" 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_6ef98930-1ce9-41c3-b436-db028fadc135" 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_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_Revenues_6ef98930-1ce9-41c3-b436-db028fadc135" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_00670039-48c9-49b0-8e4d-89d5ab69a4cf" 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_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_CostOfRevenue_00670039-48c9-49b0-8e4d-89d5ab69a4cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_d1df677b-2d5e-4f90-bbfa-4d5b3b32a54e" 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_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_GrossProfit_d1df677b-2d5e-4f90-bbfa-4d5b3b32a54e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_ddbb4859-71c4-4d0e-aa4f-582762524292" 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_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_ddbb4859-71c4-4d0e-aa4f-582762524292" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_7ce7e2f5-fa7a-47b1-9aeb-2b886c33c0d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_OperatingIncomeLoss_7ce7e2f5-fa7a-47b1-9aeb-2b886c33c0d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_7af0b59c-0046-4b19-92a9-d9f34a333eb1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_7af0b59c-0046-4b19-92a9-d9f34a333eb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_b4ebadaf-c526-4010-be08-fa2e0246626d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_b4ebadaf-c526-4010-be08-fa2e0246626d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9c23f909-7a46-47a2-a6e7-104705f8bfcb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9c23f909-7a46-47a2-a6e7-104705f8bfcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_ce1c50f2-991b-4f58-aaea-a77102a46f37" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_ce1c50f2-991b-4f58-aaea-a77102a46f37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d26d9817-24f5-4d47-8578-3abd8894f956" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_NetIncomeLoss_d26d9817-24f5-4d47-8578-3abd8894f956" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_c41d8753-0dee-445c-9ebc-a65ec31a19ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_EarningsPerShareAbstract_c41d8753-0dee-445c-9ebc-a65ec31a19ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_9469cf40-971b-4792-9064-1739f5cc121f" 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_c41d8753-0dee-445c-9ebc-a65ec31a19ba" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_9469cf40-971b-4792-9064-1739f5cc121f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_ae266391-7f13-4bdf-a490-5d75346a5819" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c41d8753-0dee-445c-9ebc-a65ec31a19ba" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_ae266391-7f13-4bdf-a490-5d75346a5819" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_38038c25-1722-4024-b0ca-504eef36382e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9f4e033c-b49c-437c-b0ea-622a2ac6c3b1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_38038c25-1722-4024-b0ca-504eef36382e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8bd42aac-9a1a-454a-bbb4-5ce8d850662c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_38038c25-1722-4024-b0ca-504eef36382e" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8bd42aac-9a1a-454a-bbb4-5ce8d850662c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_c4e481f2-7fe0-4e29-9f4b-39ec3dbfa8f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_38038c25-1722-4024-b0ca-504eef36382e" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_c4e481f2-7fe0-4e29-9f4b-39ec3dbfa8f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="rock-20240331.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_bd6cda27-445d-4f7a-bcba-f92185437f38" 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_4ab6f3cf-d3ae-4239-bced-db56e547a6d7" 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_bd6cda27-445d-4f7a-bcba-f92185437f38" xlink:to="loc_us-gaap_NetIncomeLoss_4ab6f3cf-d3ae-4239-bced-db56e547a6d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_4465e786-cd7f-4b9a-927a-5170227e48e5" 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_bd6cda27-445d-4f7a-bcba-f92185437f38" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_4465e786-cd7f-4b9a-927a-5170227e48e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_2dc2e26c-2315-4e92-b5c2-4815cf804e69" 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_4465e786-cd7f-4b9a-927a-5170227e48e5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_2dc2e26c-2315-4e92-b5c2-4815cf804e69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_7dc41762-b83f-4b6e-af2c-d47e1faa1a2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_4465e786-cd7f-4b9a-927a-5170227e48e5" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_7dc41762-b83f-4b6e-af2c-d47e1faa1a2e" 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-20240331.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_460b34b8-46d2-427e-9b60-5075517d42bd" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" 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_460b34b8-46d2-427e-9b60-5075517d42bd" xlink:to="loc_us-gaap_AssetsAbstract_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_ec56173c-e28f-4c2f-bc5b-eabf33309be5" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_AssetsCurrentAbstract_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_d075d83b-0039-4568-9b3c-5b7ecb8772dd" 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_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_d075d83b-0039-4568-9b3c-5b7ecb8772dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_b43fd1b4-1b22-4530-ae38-cfbbbf408249" 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_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_b43fd1b4-1b22-4530-ae38-cfbbbf408249" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_70ea6cde-d3ac-44e4-b59e-eb2f2597e781" 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_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:to="loc_us-gaap_InventoryNet_70ea6cde-d3ac-44e4-b59e-eb2f2597e781" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_7874be5c-de06-486e-ac9b-6f2edf0fc632" 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_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:to="loc_us-gaap_OtherAssetsCurrent_7874be5c-de06-486e-ac9b-6f2edf0fc632" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_68ae83b0-f8bd-48a7-846e-dc8a7549e1bf" 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_ec56173c-e28f-4c2f-bc5b-eabf33309be5" xlink:to="loc_us-gaap_AssetsCurrent_68ae83b0-f8bd-48a7-846e-dc8a7549e1bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_8fea7c09-9497-4d9f-9aae-4b8cbda282dd" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_8fea7c09-9497-4d9f-9aae-4b8cbda282dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_a747747a-1be4-49e1-b450-69c6704897ce" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_a747747a-1be4-49e1-b450-69c6704897ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d742752f-004e-482c-ae36-41db68b411c5" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_Goodwill_d742752f-004e-482c-ae36-41db68b411c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_8b6509a0-5eb3-4c3e-a784-bb52d64267d1" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_8b6509a0-5eb3-4c3e-a784-bb52d64267d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_7e0decd5-765a-4b5c-9e14-d837bcee0cbc" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_7e0decd5-765a-4b5c-9e14-d837bcee0cbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_1fa36925-a4ab-478f-be51-ffe8d6ab8c57" 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_4de8cfdf-9f96-4aed-90bc-485485570c3e" xlink:to="loc_us-gaap_Assets_1fa36925-a4ab-478f-be51-ffe8d6ab8c57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" 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_460b34b8-46d2-427e-9b60-5075517d42bd" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_43cd4af8-4483-4529-9270-97ffca60b73e" 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_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_43cd4af8-4483-4529-9270-97ffca60b73e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_4f33bd62-6e5f-45aa-9a8f-e009c0256d05" 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_43cd4af8-4483-4529-9270-97ffca60b73e" xlink:to="loc_us-gaap_AccountsPayableCurrent_4f33bd62-6e5f-45aa-9a8f-e009c0256d05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_8897c454-0f86-4f10-873b-93aa7e9636a5" 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_43cd4af8-4483-4529-9270-97ffca60b73e" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_8897c454-0f86-4f10-873b-93aa7e9636a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_ae631e55-bc83-49ae-b92d-186835a73098" 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_43cd4af8-4483-4529-9270-97ffca60b73e" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_ae631e55-bc83-49ae-b92d-186835a73098" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_70aa9015-11ec-4028-a4bf-eac4218ed3fb" 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_43cd4af8-4483-4529-9270-97ffca60b73e" xlink:to="loc_us-gaap_LiabilitiesCurrent_70aa9015-11ec-4028-a4bf-eac4218ed3fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_722491f3-8404-4fcc-b6d9-2ec720a5b3a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_722491f3-8404-4fcc-b6d9-2ec720a5b3a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_eadc89ca-00f9-480b-a212-a844018c218b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_eadc89ca-00f9-480b-a212-a844018c218b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_283cabdd-6de0-4252-8273-76e1d3c88424" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_283cabdd-6de0-4252-8273-76e1d3c88424" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_StockholdersEquityAbstract_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_453e7e4e-0235-44a8-bc4d-9056437ff13c" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_PreferredStockValue_453e7e4e-0235-44a8-bc4d-9056437ff13c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_e6009b14-00a4-4739-b0dc-b7291f12ddff" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_CommonStockValue_e6009b14-00a4-4739-b0dc-b7291f12ddff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_d4fc5967-58e5-44ba-8efa-293df3fbf91e" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_AdditionalPaidInCapital_d4fc5967-58e5-44ba-8efa-293df3fbf91e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_ff418f0c-bacd-4798-a3c2-c2999142bf8e" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_ff418f0c-bacd-4798-a3c2-c2999142bf8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6e3243c3-c15b-4006-b045-bf6cd41403bb" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6e3243c3-c15b-4006-b045-bf6cd41403bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_7f2772db-1531-4443-8ccd-ddf54e187a27" 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_68781f6c-e9de-4fd6-8f8c-f1937e6580e7" xlink:to="loc_us-gaap_TreasuryStockValue_7f2772db-1531-4443-8ccd-ddf54e187a27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bcc679ce-c06b-4d8f-bf6a-b201407a0cb7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_StockholdersEquity_bcc679ce-c06b-4d8f-bf6a-b201407a0cb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_fa6c08c5-d3af-49e5-907a-4284ac9c536a" 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_38b404b6-5c25-4f41-a461-f050ab7b2c3d" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_fa6c08c5-d3af-49e5-907a-4284ac9c536a" 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-20240331.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_434f8cc8-833d-4f99-84cd-a7025bd19937" 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_cf2033c3-1d04-4b1b-9d62-62afd8cf238b" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_cf2033c3-1d04-4b1b-9d62-62afd8cf238b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_532d93ed-098f-41d5-82ec-6d03580e7daa" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_532d93ed-098f-41d5-82ec-6d03580e7daa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_7f280065-e49e-42b6-b706-4f1c4d29ea27" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_7f280065-e49e-42b6-b706-4f1c4d29ea27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_854a7bef-1435-4ae5-bc64-6e2434e93b46" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_854a7bef-1435-4ae5-bc64-6e2434e93b46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_2c6a7357-a28f-40b1-ad7a-4305588673f8" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_2c6a7357-a28f-40b1-ad7a-4305588673f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_be714c14-40d6-491c-a14a-b8dc51b74f8a" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_be714c14-40d6-491c-a14a-b8dc51b74f8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_d0d4be18-4e7d-489b-adfd-74e8e2eaa19f" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_CommonStockSharesIssued_d0d4be18-4e7d-489b-adfd-74e8e2eaa19f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_5b02c5ab-78d2-42ad-a697-2ea638495803" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_5b02c5ab-78d2-42ad-a697-2ea638495803" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_2e574bab-e33a-4bc3-995c-b7fda02969fd" 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_434f8cc8-833d-4f99-84cd-a7025bd19937" xlink:to="loc_us-gaap_TreasuryStockCommonShares_2e574bab-e33a-4bc3-995c-b7fda02969fd" 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-20240331.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_669dda4a-2b93-4d43-9414-bf21aceeda60" 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_7bca5075-e6ac-4d5d-a273-c38b907feec7" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_7bca5075-e6ac-4d5d-a273-c38b907feec7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_785818fe-1809-4047-aaa4-3ca39d85bf70" 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_7bca5075-e6ac-4d5d-a273-c38b907feec7" xlink:to="loc_us-gaap_NetIncomeLoss_785818fe-1809-4047-aaa4-3ca39d85bf70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_7bca5075-e6ac-4d5d-a273-c38b907feec7" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_be4f7cf5-e34d-4571-9c8a-ed6b45a2890c" 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_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_be4f7cf5-e34d-4571-9c8a-ed6b45a2890c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0ca18454-fbe9-48af-9863-dfb7ebe153c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:to="loc_us-gaap_ShareBasedCompensation_0ca18454-fbe9-48af-9863-dfb7ebe153c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts_e13010b7-2f1e-4300-85dd-fcdbcbbada01" xlink:href="rock-20240331.xsd#rock_NoncashProjectAbandonmentCostsReversalOfCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:to="loc_rock_NoncashProjectAbandonmentCostsReversalOfCosts_e13010b7-2f1e-4300-85dd-fcdbcbbada01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_505e0c54-1402-43c7-abab-cb8e497512bb" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_505e0c54-1402-43c7-abab-cb8e497512bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_9e2c29ec-d874-402b-b693-a234d32b350a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_bdec8a08-5f60-4abe-8267-25630c5ca26a" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_9e2c29ec-d874-402b-b693-a234d32b350a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_7bca5075-e6ac-4d5d-a273-c38b907feec7" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_34a4efed-460a-41ea-9dfd-42bca028271d" 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_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_34a4efed-460a-41ea-9dfd-42bca028271d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_b02e7e5e-e2a1-4688-a77e-347a0d37a285" 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_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_b02e7e5e-e2a1-4688-a77e-347a0d37a285" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_401552a6-5f0e-42a3-a3fe-555c1c3b33e2" 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_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_401552a6-5f0e-42a3-a3fe-555c1c3b33e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_c7e04477-d927-4925-8203-9f5ee9944608" 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_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_c7e04477-d927-4925-8203-9f5ee9944608" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_f447b2a5-36fd-4518-bcc7-cee89a049418" 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_60b0dc60-118a-4950-830d-8a0221ab4a48" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_f447b2a5-36fd-4518-bcc7-cee89a049418" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5b38b6de-bbc9-4d52-8203-1c741444d270" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_7bca5075-e6ac-4d5d-a273-c38b907feec7" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5b38b6de-bbc9-4d52-8203-1c741444d270" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_c9ddb97f-3ed4-47af-b547-cb22ef65ed93" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_c9ddb97f-3ed4-47af-b547-cb22ef65ed93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_03e72001-99f5-489a-bf5d-17b6587e1bbc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_c9ddb97f-3ed4-47af-b547-cb22ef65ed93" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_03e72001-99f5-489a-bf5d-17b6587e1bbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_d588c00a-fb61-478d-9741-4cdebd825c53" 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_c9ddb97f-3ed4-47af-b547-cb22ef65ed93" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_d588c00a-fb61-478d-9741-4cdebd825c53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_1386153a-9f5d-4dca-bfd9-461ee5b9bbc2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_c9ddb97f-3ed4-47af-b547-cb22ef65ed93" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_1386153a-9f5d-4dca-bfd9-461ee5b9bbc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_c27fc498-32ab-4de5-80a8-87098e77a756" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_c27fc498-32ab-4de5-80a8-87098e77a756" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_95890f0c-9300-45c5-981a-7749e2a1f0e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_95890f0c-9300-45c5-981a-7749e2a1f0e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_22c48476-0be3-4e8e-8f61-edb5718da55a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_22c48476-0be3-4e8e-8f61-edb5718da55a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_186bcb93-5ad9-4011-8f40-674e9efeeafb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_8cac71f0-63b3-489c-98e3-8791c5d8c030" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_186bcb93-5ad9-4011-8f40-674e9efeeafb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8b613583-df2e-46c1-9fc7-b9dcedac27ea" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8b613583-df2e-46c1-9fc7-b9dcedac27ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_809a2d3b-0d7c-455d-8f3f-2aba37061554" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_809a2d3b-0d7c-455d-8f3f-2aba37061554" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e63aa773-8b0b-4eb8-8fe3-98bdf1eccc22" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e63aa773-8b0b-4eb8-8fe3-98bdf1eccc22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_16f33cfc-44b0-48cb-8852-74f47477fcfc" 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_669dda4a-2b93-4d43-9414-bf21aceeda60" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_16f33cfc-44b0-48cb-8852-74f47477fcfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity" xlink:type="simple" xlink:href="rock-20240331.xsd#ConsolidatedStatementofStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_6930f1e8-f892-43ef-bbbe-4c1bec46edfa" 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_6071995f-06f9-48fc-8f7f-e242cd530c72" 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_6930f1e8-f892-43ef-bbbe-4c1bec46edfa" xlink:to="loc_us-gaap_StatementTable_6071995f-06f9-48fc-8f7f-e242cd530c72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" 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_6071995f-06f9-48fc-8f7f-e242cd530c72" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d70e8435-7e56-49d2-a45b-514d028afc7e" 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_9fe1689c-ae2f-4ca2-9afd-38328c6585fd" xlink:to="loc_us-gaap_EquityComponentDomain_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_93bbee03-9104-4598-9673-c602f8624333" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_CommonStockMember_93bbee03-9104-4598-9673-c602f8624333" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_8520fdf1-154c-45ca-96eb-cf5a1dc0c279" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_8520fdf1-154c-45ca-96eb-cf5a1dc0c279" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_8d6c8a28-6859-4b32-8f8b-24913c111e2d" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_RetainedEarningsMember_8d6c8a28-6859-4b32-8f8b-24913c111e2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_208add6d-ecb9-4508-af6f-3548607ce489" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_208add6d-ecb9-4508-af6f-3548607ce489" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_35f88fd6-2da3-4e6b-804a-4851b48c0df7" 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_d70e8435-7e56-49d2-a45b-514d028afc7e" xlink:to="loc_us-gaap_TreasuryStockCommonMember_35f88fd6-2da3-4e6b-804a-4851b48c0df7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_85125956-1f8d-4fc9-b95c-5710b03be601" 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_6071995f-06f9-48fc-8f7f-e242cd530c72" xlink:to="loc_us-gaap_StatementLineItems_85125956-1f8d-4fc9-b95c-5710b03be601" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" 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_85125956-1f8d-4fc9-b95c-5710b03be601" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_ce604b6b-73df-4778-a42a-e559a5d15ed5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_ce604b6b-73df-4778-a42a-e559a5d15ed5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9d08510a-ed7e-44fe-ad53-d396967bd691" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockholdersEquity_9d08510a-ed7e-44fe-ad53-d396967bd691" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_a99bfc73-d6b3-493e-9f24-67c1d3d6f4e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_TreasuryStockCommonShares_a99bfc73-d6b3-493e-9f24-67c1d3d6f4e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_51f03de2-62d5-4ec7-81f4-a1226e4a47a1" 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_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_NetIncomeLoss_51f03de2-62d5-4ec7-81f4-a1226e4a47a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_bfcb28eb-b094-4e35-8189-5acf20f27174" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_bfcb28eb-b094-4e35-8189-5acf20f27174" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_76343b94-149c-4521-bc53-5a8d6992b456" 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_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_76343b94-149c-4521-bc53-5a8d6992b456" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c4c2f2e7-1938-42f3-82d8-201c24f4a626" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c4c2f2e7-1938-42f3-82d8-201c24f4a626" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_3f1faadb-5b35-46a7-a40e-3084afd247ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_3f1faadb-5b35-46a7-a40e-3084afd247ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_4038c588-4cf7-4ea4-a394-6bc08fb8cb3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_4038c588-4cf7-4ea4-a394-6bc08fb8cb3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_a7bcb6ef-0d55-456e-8f18-617042112f3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_a7bcb6ef-0d55-456e-8f18-617042112f3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_546fa178-81e2-4c3a-9328-af17be2db1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_546fa178-81e2-4c3a-9328-af17be2db1eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_e7c97fd1-35b2-4656-9be2-4cf3172e9406" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_StockholdersEquity_e7c97fd1-35b2-4656-9be2-4cf3172e9406" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_0c0bbaba-a4aa-4f91-8e22-018b6f1e7dbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_35a0718a-1a5e-4312-aec3-24434c142360" xlink:to="loc_us-gaap_TreasuryStockCommonShares_0c0bbaba-a4aa-4f91-8e22-018b6f1e7dbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ProductWarranties" xlink:type="simple" xlink:href="rock-20240331.xsd#ProductWarranties"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ProductWarranties" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_a3687479-eba7-4523-ba4d-1fa5aebca1d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_f0213cd6-d3e5-47c5-bc51-9c9765fbf4f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_a3687479-eba7-4523-ba4d-1fa5aebca1d7" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_f0213cd6-d3e5-47c5-bc51-9c9765fbf4f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/BasisOfPresentation" xlink:type="simple" xlink:href="rock-20240331.xsd#BasisOfPresentation"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/BasisOfPresentation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1750a608-e939-43fe-a7b9-a36cb6f5c020" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_f31f6757-8178-4685-8a0c-60623eba9e86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1750a608-e939-43fe-a7b9-a36cb6f5c020" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_f31f6757-8178-4685-8a0c-60623eba9e86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNet" xlink:type="simple" xlink:href="rock-20240331.xsd#AccountsReceivableNet"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableNet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_9c656e4a-990b-4276-97a4-32be775df732" 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_65a92bb3-b70c-468c-8ce4-2f387026a1a9" 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_9c656e4a-990b-4276-97a4-32be775df732" xlink:to="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_65a92bb3-b70c-468c-8ce4-2f387026a1a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Revenue" xlink:type="simple" xlink:href="rock-20240331.xsd#Revenue"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Revenue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f3c63c04-d4be-48d8-a25f-03a5b9dc910f" 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_d0a55cb4-d321-4da0-9998-e3ec8ce12e9c" 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_f3c63c04-d4be-48d8-a25f-03a5b9dc910f" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_d0a55cb4-d321-4da0-9998-e3ec8ce12e9c" 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-20240331.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_9922546d-6062-4e95-80ab-a6a8b8216a42" 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_3c6a482b-c7d1-42c5-9528-db4a956beeb4" 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_9922546d-6062-4e95-80ab-a6a8b8216a42" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_3c6a482b-c7d1-42c5-9528-db4a956beeb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Acquisition" xlink:type="simple" xlink:href="rock-20240331.xsd#Acquisition"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Acquisition" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_03562d24-53a4-4525-8341-6ab88a89fb96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_3f71ad8d-c579-4d1c-999b-7cf654752826" 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_BusinessCombinationAndAssetAcquisitionAbstract_03562d24-53a4-4525-8341-6ab88a89fb96" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_3f71ad8d-c579-4d1c-999b-7cf654752826" 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-20240331.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_46276624-cf57-41b9-91a9-f557dc457a79" 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_3c1b7ee0-69a7-4803-abd3-4ce8b5a23c47" 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_46276624-cf57-41b9-91a9-f557dc457a79" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_3c1b7ee0-69a7-4803-abd3-4ce8b5a23c47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebt" xlink:type="simple" xlink:href="rock-20240331.xsd#LongTermDebt"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LongTermDebt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_40b17feb-298d-4155-a82b-b3f74b12ae6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock_03751778-e9f4-49cd-a09e-ab666cd9e573" 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_DebtDisclosureAbstract_40b17feb-298d-4155-a82b-b3f74b12ae6a" xlink:to="loc_us-gaap_LongTermDebtTextBlock_03751778-e9f4-49cd-a09e-ab666cd9e573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensation" xlink:type="simple" xlink:href="rock-20240331.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_fb942134-0515-403c-8b82-0c060c81a958" 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_d16d6204-6e06-405e-9d39-2a5d2b151ff2" 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_fb942134-0515-403c-8b82-0c060c81a958" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_d16d6204-6e06-405e-9d39-2a5d2b151ff2" 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-20240331.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_c8a3985c-4789-4caa-9ed0-6b4e0ead91d2" 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_162bf6ea-b263-49aa-9b88-7af7c7054423" 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_c8a3985c-4789-4caa-9ed0-6b4e0ead91d2" xlink:to="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_162bf6ea-b263-49aa-9b88-7af7c7054423" 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-20240331.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_a7868b11-106d-4cba-be50-d0b7d438266f" 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_6ab7a1e5-0a84-4905-ad3f-41b2008e9eac" 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_a7868b11-106d-4cba-be50-d0b7d438266f" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_6ab7a1e5-0a84-4905-ad3f-41b2008e9eac" 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-20240331.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_0d0bf266-fbc7-44a4-bc94-0a5c837f7287" 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_443bbd52-eeb1-470e-ad92-e0932e0a206d" 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_0d0bf266-fbc7-44a4-bc94-0a5c837f7287" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_443bbd52-eeb1-470e-ad92-e0932e0a206d" 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-20240331.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_2b34a645-9fc5-477e-bf7b-b744d4ecc354" 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_ce7a504e-153a-49de-8db6-d66d3b1b745c" 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_2b34a645-9fc5-477e-bf7b-b744d4ecc354" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_ce7a504e-153a-49de-8db6-d66d3b1b745c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/BasisOfPresentationPolicies" xlink:type="simple" xlink:href="rock-20240331.xsd#BasisOfPresentationPolicies"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/BasisOfPresentationPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_48e43c16-b9bb-4da3-b2d0-3d2dc5753331" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_8173e9c3-4dfa-4660-a02a-e4a0301573fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_48e43c16-b9bb-4da3-b2d0-3d2dc5753331" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_8173e9c3-4dfa-4660-a02a-e4a0301573fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ProductWarrantiesTables" xlink:type="simple" xlink:href="rock-20240331.xsd#ProductWarrantiesTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ProductWarrantiesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_872bb673-84a6-40e9-a3fc-e260cb3d0d93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_7dff04a8-2166-406c-86c9-80264ae9ad60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_872bb673-84a6-40e9-a3fc-e260cb3d0d93" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_7dff04a8-2166-406c-86c9-80264ae9ad60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetTables" xlink:type="simple" xlink:href="rock-20240331.xsd#AccountsReceivableNetTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableNetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_3d1ca070-bf20-4403-93d4-c582012297fc" 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_d6d883cb-369a-4bfa-8627-85cc3f6cc64f" 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_3d1ca070-bf20-4403-93d4-c582012297fc" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_d6d883cb-369a-4bfa-8627-85cc3f6cc64f" 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-20240331.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_c7c8762b-4eba-459d-81b3-a086f24d30b8" 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_bff1c175-aa09-4d50-9f9c-5db520e19379" 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_c7c8762b-4eba-459d-81b3-a086f24d30b8" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_bff1c175-aa09-4d50-9f9c-5db520e19379" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionTables" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_594afd40-c24b-4295-96dc-4fbe050b6cd6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_1b94d478-b639-44de-aa93-de4df6db8cdb" 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_BusinessCombinationAndAssetAcquisitionAbstract_594afd40-c24b-4295-96dc-4fbe050b6cd6" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_1b94d478-b639-44de-aa93-de4df6db8cdb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_60f40a98-2783-4cb6-bc00-aee3f2572915" 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_BusinessCombinationAndAssetAcquisitionAbstract_594afd40-c24b-4295-96dc-4fbe050b6cd6" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_60f40a98-2783-4cb6-bc00-aee3f2572915" 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-20240331.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_83a5878c-816d-4ec2-a734-e7807c0d0a03" 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_3e60cf16-7779-4391-9762-ab8f98de3f8c" 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_83a5878c-816d-4ec2-a734-e7807c0d0a03" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_3e60cf16-7779-4391-9762-ab8f98de3f8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_642a4269-aeb7-45b8-bf40-0ca87b9876ef" 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_83a5878c-816d-4ec2-a734-e7807c0d0a03" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_642a4269-aeb7-45b8-bf40-0ca87b9876ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_e31ff81f-f7f4-4fba-aa93-29a3ebab4466" xlink:href="rock-20240331.xsd#rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_83a5878c-816d-4ec2-a734-e7807c0d0a03" xlink:to="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_e31ff81f-f7f4-4fba-aa93-29a3ebab4466" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_6988297f-acf4-44c8-9e1e-6eb9f50ec044" 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_83a5878c-816d-4ec2-a734-e7807c0d0a03" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_6988297f-acf4-44c8-9e1e-6eb9f50ec044" 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-20240331.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_41cf5c64-c375-4298-a18c-daf25fe72120" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_1130e294-bccd-4d79-8668-585ab03c2824" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_41cf5c64-c375-4298-a18c-daf25fe72120" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_1130e294-bccd-4d79-8668-585ab03c2824" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_b169bb19-880a-4c25-956f-eb6260d85d97" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_41cf5c64-c375-4298-a18c-daf25fe72120" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_b169bb19-880a-4c25-956f-eb6260d85d97" 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-20240331.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_4ec20d54-b0c4-4e4b-a25c-3cb1580efe1c" 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_ScheduleOfRestructuringAndRelatedCostsTextBlock_a8279a64-27b7-42c4-b279-66fc70aa3a84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_4ec20d54-b0c4-4e4b-a25c-3cb1580efe1c" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_a8279a64-27b7-42c4-b279-66fc70aa3a84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_aa9a5cbe-75a5-4621-994e-dbee9ae7a60e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_4ec20d54-b0c4-4e4b-a25c-3cb1580efe1c" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_aa9a5cbe-75a5-4621-994e-dbee9ae7a60e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="rock-20240331.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_a22bfb74-7d53-44c4-bb72-355539d68c26" 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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_64cf1b52-50b1-4786-b5cc-bcb172ecfe11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_a22bfb74-7d53-44c4-bb72-355539d68c26" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_64cf1b52-50b1-4786-b5cc-bcb172ecfe11" 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-20240331.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_2ff036da-e775-4a47-848b-77f9aa10daab" 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_1c8569b2-6eac-4ee1-bcff-7bdf2ea9f0b1" 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_2ff036da-e775-4a47-848b-77f9aa10daab" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_1c8569b2-6eac-4ee1-bcff-7bdf2ea9f0b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_d81d5200-e137-4050-b317-9c9fb45a9ed3" 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_2ff036da-e775-4a47-848b-77f9aa10daab" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_d81d5200-e137-4050-b317-9c9fb45a9ed3" 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-20240331.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_b1baf6ea-247a-4741-bd88-b98f41697df3" 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_ScheduleOfSegmentReportingInformationBySegmentTextBlock_1fec202a-7cf1-4037-b0c1-550ab26b5265" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_b1baf6ea-247a-4741-bd88-b98f41697df3" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_1fec202a-7cf1-4037-b0c1-550ab26b5265" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_3e60f9bb-424b-4c31-8a4e-2ef18b3c56a8" 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_b1baf6ea-247a-4741-bd88-b98f41697df3" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_3e60f9bb-424b-4c31-8a4e-2ef18b3c56a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ProductWarrantiesDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#ProductWarrantiesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ProductWarrantiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_6f3ed514-b382-4dc1-b598-9cb51a28b2f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0b39c1fa-a38b-4f99-81e1-99c740bcca1b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_6f3ed514-b382-4dc1-b598-9cb51a28b2f2" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0b39c1fa-a38b-4f99-81e1-99c740bcca1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_77a3e182-b6c2-42fd-94cb-67c058ef5f50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0b39c1fa-a38b-4f99-81e1-99c740bcca1b" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_77a3e182-b6c2-42fd-94cb-67c058ef5f50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_fde2e961-4b0c-44c7-a273-18982ec19270" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0b39c1fa-a38b-4f99-81e1-99c740bcca1b" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_fde2e961-4b0c-44c7-a273-18982ec19270" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_2706f4f8-ae54-4bfb-af3a-722facd85933" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyAccrual"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0b39c1fa-a38b-4f99-81e1-99c740bcca1b" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_2706f4f8-ae54-4bfb-af3a-722facd85933" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AccountsReceivableNetScheduleofReceivablesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_24116c66-9061-4531-9650-81821c68f4e5" 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_e56a9b98-1f2d-4d0e-91ef-13314c006c3a" 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_24116c66-9061-4531-9650-81821c68f4e5" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_e56a9b98-1f2d-4d0e-91ef-13314c006c3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledContractsReceivable_e12296af-030d-4f99-ac08-248c7662f29b" 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_24116c66-9061-4531-9650-81821c68f4e5" xlink:to="loc_us-gaap_UnbilledContractsReceivable_e12296af-030d-4f99-ac08-248c7662f29b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_8779337d-2ccb-4f84-bd42-78514a476fff" xlink:href="rock-20240331.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_24116c66-9061-4531-9650-81821c68f4e5" xlink:to="loc_rock_ContractsReceivableGrossCurrent_8779337d-2ccb-4f84-bd42-78514a476fff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f63e726e-567a-44e2-bb38-5d52154e5b80" 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_24116c66-9061-4531-9650-81821c68f4e5" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f63e726e-567a-44e2-bb38-5d52154e5b80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_7fe97686-0b59-43c7-90b3-5b57a86ada04" 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_24116c66-9061-4531-9650-81821c68f4e5" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_7fe97686-0b59-43c7-90b3-5b57a86ada04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_2ac989ba-ae3f-4816-bc96-d031b3d0edf2" 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_AllowanceForDoubtfulAccountsReceivableRollforward_cd7caff0-644f-46b7-9b6b-62e9de0963a2" 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_ReceivablesAbstract_2ac989ba-ae3f-4816-bc96-d031b3d0edf2" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_cd7caff0-644f-46b7-9b6b-62e9de0963a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4f40992a-584d-47da-93e2-6e0196c8586f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_cd7caff0-644f-46b7-9b6b-62e9de0963a2" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4f40992a-584d-47da-93e2-6e0196c8586f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_3c297619-6f5e-4a13-b4c6-b6bf2d7e7da0" 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_cd7caff0-644f-46b7-9b6b-62e9de0963a2" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_3c297619-6f5e-4a13-b4c6-b6bf2d7e7da0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_2e0d178f-2ad5-4a04-86c9-3d4773804413" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_cd7caff0-644f-46b7-9b6b-62e9de0963a2" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_2e0d178f-2ad5-4a04-86c9-3d4773804413" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_6022c40f-a901-40f3-91ae-3496101b448e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_cd7caff0-644f-46b7-9b6b-62e9de0963a2" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_6022c40f-a901-40f3-91ae-3496101b448e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.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_b9943942-770d-4d5a-bd9e-c47f6d3f28fd" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b9943942-770d-4d5a-bd9e-c47f6d3f28fd" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_203c7de0-6266-4b19-8a27-b776dd6ce320" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_203c7de0-6266-4b19-8a27-b776dd6ce320" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_srt_RangeAxis_18111607-118d-417f-bfda-c958db6eaafc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" 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_18111607-118d-417f-bfda-c958db6eaafc" xlink:to="loc_srt_RangeMember_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" 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_39c23aad-38b0-4343-8c0e-1bb9caa79ca7" xlink:to="loc_srt_MaximumMember_c57024e2-e3e5-4bf0-9054-f0aa50c05e67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_084e349e-cadf-4154-93ff-16db160300a8" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_76a5c1d7-dbef-49ce-91dc-8668cb17a496" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_us-gaap_ContractWithCustomerLiability_53d99d75-94cb-4d26-8eba-2c677716a013" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:href="rock-20240331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f219dcb6-f090-45f8-b2a6-af14bd59cf09" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_c54421fc-14f8-43c0-878e-99a0e25bc4ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#InventoriesNetDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_41eed49b-85e3-4378-87e0-b4659684c5f2" 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_c83c2acc-0975-44a7-8fad-56ae7a366009" 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_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryRawMaterials_c83c2acc-0975-44a7-8fad-56ae7a366009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcess_7600c422-275c-4f04-95f5-482f8caa36f4" 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_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryWorkInProcess_7600c422-275c-4f04-95f5-482f8caa36f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_0fde1b40-edec-4bb6-9d14-eaaa1ed24eef" 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_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryFinishedGoods_0fde1b40-edec-4bb6-9d14-eaaa1ed24eef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross_aeba12c5-f648-4727-b142-6e09e5e1bc91" 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_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryGross_aeba12c5-f648-4727-b142-6e09e5e1bc91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_645f4ae5-5d16-4bf3-838b-96a79805c41f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryValuationReserves_645f4ae5-5d16-4bf3-838b-96a79805c41f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_cf334f0f-b146-47fa-840e-5dc8219a98e0" 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_41eed49b-85e3-4378-87e0-b4659684c5f2" xlink:to="loc_us-gaap_InventoryNet_cf334f0f-b146-47fa-840e-5dc8219a98e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_034a3666-b1db-491c-b5c7-cf032d5dc525" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_19c3e4df-7ffd-481a-8f24-92d0294b1afb" 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_BusinessCombinationAndAssetAcquisitionAbstract_034a3666-b1db-491c-b5c7-cf032d5dc525" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_19c3e4df-7ffd-481a-8f24-92d0294b1afb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" 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_19c3e4df-7ffd-481a-8f24-92d0294b1afb" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" 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_7a6ae41d-2f74-4ce5-9097-b2c9db4b8c99" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_fc7ec34a-54a4-47cb-a11c-adadb786f187" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_669b6694-60bf-46e3-b51e-eb0c25d0c2c6" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_fc7ec34a-54a4-47cb-a11c-adadb786f187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" 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_19c3e4df-7ffd-481a-8f24-92d0294b1afb" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_a79abf38-fa08-4889-ad79-80bbe97842d1" 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_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_a79abf38-fa08-4889-ad79-80bbe97842d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8abb0e91-4b0f-4c6e-b0e5-2d15b5269567" 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_0b6b2a2b-d5ef-4b49-833b-924dbfc4ded4" xlink:to="loc_us-gaap_Goodwill_8abb0e91-4b0f-4c6e-b0e5-2d15b5269567" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_eaf8d125-2371-4208-984a-91ade7f06e8e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_008241ad-1b47-4474-b902-b06c02ba3342" 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_BusinessCombinationAndAssetAcquisitionAbstract_eaf8d125-2371-4208-984a-91ade7f06e8e" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_008241ad-1b47-4474-b902-b06c02ba3342" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" 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_008241ad-1b47-4474-b902-b06c02ba3342" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" 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_d5fdb009-62d5-4fbd-83c9-b9f3e4a3a8c2" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_ccdfcd52-a3d6-4a98-96e9-bfae67646949" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_644c53ba-cff8-434c-a3bc-9d20c206e2cb" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_ccdfcd52-a3d6-4a98-96e9-bfae67646949" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" 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_008241ad-1b47-4474-b902-b06c02ba3342" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_b499541e-ff00-4b05-9265-7498fab9e8b4" xlink:href="rock-20240331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_b499541e-ff00-4b05-9265-7498fab9e8b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_08533c3a-2438-4599-b714-0f94ced87a89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_08533c3a-2438-4599-b714-0f94ced87a89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_c20f33ca-8aae-4740-bb3d-15d8a1dd732a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_c20f33ca-8aae-4740-bb3d-15d8a1dd732a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_614dab9c-4d08-44c0-b882-71a17158c8c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_614dab9c-4d08-44c0-b882-71a17158c8c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_97e62f49-d2f8-4973-99d2-368adfefca98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_97e62f49-d2f8-4973-99d2-368adfefca98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_7cadcf7b-effe-40c5-ba37-d090294cbf6e" 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_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_Goodwill_7cadcf7b-effe-40c5-ba37-d090294cbf6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_f3999c63-37b9-4314-939e-dcffd5b60f4d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_524803d1-475c-48f6-aa8c-1631db039b84" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_f3999c63-37b9-4314-939e-dcffd5b60f4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#AcquisitionScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_55f8cd23-08f1-4d80-9ae8-e52b4c55fa74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" 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_BusinessCombinationAndAssetAcquisitionAbstract_55f8cd23-08f1-4d80-9ae8-e52b4c55fa74" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_840fc750-be52-425a-91eb-740246ea06b9" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_840fc750-be52-425a-91eb-740246ea06b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" 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_840fc750-be52-425a-91eb-740246ea06b9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_e84ac026-20bb-495e-a54d-781709aeaa02" xlink:href="rock-20240331.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_0a1e6325-e30a-4228-a199-840d8544b103" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_e84ac026-20bb-495e-a54d-781709aeaa02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7e699091-130c-438f-ac73-f31bca0a251d" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7e699091-130c-438f-ac73-f31bca0a251d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_377483d0-6a9a-4e98-90f4-14cec9be157c" 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_7e699091-130c-438f-ac73-f31bca0a251d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_095b2e99-5bed-49e7-8bd2-48e666be5409" 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_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:to="loc_us-gaap_TrademarksMember_095b2e99-5bed-49e7-8bd2-48e666be5409" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_46b4e17b-0e33-480a-8502-982e0008179d" 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_377483d0-6a9a-4e98-90f4-14cec9be157c" xlink:to="loc_us-gaap_CustomerRelationshipsMember_46b4e17b-0e33-480a-8502-982e0008179d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_950bc625-209c-42bc-a310-f11c7cf8194f" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_950bc625-209c-42bc-a310-f11c7cf8194f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_feeacf84-5ba7-4436-98d0-199dd3088762" 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_950bc625-209c-42bc-a310-f11c7cf8194f" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_feeacf84-5ba7-4436-98d0-199dd3088762" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_ce724a2d-d63d-4b94-abe2-27cd4960b5e4" 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_feeacf84-5ba7-4436-98d0-199dd3088762" xlink:to="loc_us-gaap_TrademarksMember_ce724a2d-d63d-4b94-abe2-27cd4960b5e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_1f833428-2ecf-4c2d-8077-9f8c16794f9b" 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_9c2a877a-f10c-4af1-90d2-1ba1e2e41545" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_2d0745fc-1416-41af-b50e-78742b166f72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_2d0745fc-1416-41af-b50e-78742b166f72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_e9acabb8-a131-4b8d-8313-1ed56ca147d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_1f833428-2ecf-4c2d-8077-9f8c16794f9b" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_e9acabb8-a131-4b8d-8313-1ed56ca147d3" 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-20240331.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_b58e4adb-13b6-4e52-a96d-d2f5ee9ce0d7" 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_61c89503-af82-4ccf-8c50-57d495841710" 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_b58e4adb-13b6-4e52-a96d-d2f5ee9ce0d7" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_61c89503-af82-4ccf-8c50-57d495841710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_28f81756-6c39-4678-8198-e00ddc260392" 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_61c89503-af82-4ccf-8c50-57d495841710" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_28f81756-6c39-4678-8198-e00ddc260392" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" 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_28f81756-6c39-4678-8198-e00ddc260392" xlink:to="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewableEnergyandConservationMember_abc67783-815c-4149-b03c-09e1d5b08d7e" xlink:href="rock-20240331.xsd#rock_RenewableEnergyandConservationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_RenewableEnergyandConservationMember_abc67783-815c-4149-b03c-09e1d5b08d7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_8eb8577e-d4e2-450a-af64-062e33c5a0a4" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_ResidentialProductsMember_8eb8577e-d4e2-450a-af64-062e33c5a0a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_7ce861db-3d9f-4919-b43c-542b4e83bed2" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_AgtechMember_7ce861db-3d9f-4919-b43c-542b4e83bed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_f269433b-9215-4e2a-959b-da9b13e0d28b" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bc4755c6-d644-4de5-944a-a7963797b1d9" xlink:to="loc_rock_InfrastructureMember_f269433b-9215-4e2a-959b-da9b13e0d28b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_810012cb-eaa6-40ef-ae96-7008c1de5880" 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_61c89503-af82-4ccf-8c50-57d495841710" xlink:to="loc_us-gaap_GoodwillLineItems_810012cb-eaa6-40ef-ae96-7008c1de5880" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" 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_810012cb-eaa6-40ef-ae96-7008c1de5880" xlink:to="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8a526a69-bd4e-4b1d-8f9f-9b140e50f8c3" 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_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_Goodwill_8a526a69-bd4e-4b1d-8f9f-9b140e50f8c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_ca89e34e-421b-4109-bd44-71e5437acb09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_ca89e34e-421b-4109-bd44-71e5437acb09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_cd9c1491-4bee-442f-9479-59c2e6c6567b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_cd9c1491-4bee-442f-9479-59c2e6c6567b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_13f8fc20-7fa8-4b75-a732-37a371279e45" 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_GoodwillRollForward_ad1679ef-79b1-4aa7-8774-d8da34304b61" xlink:to="loc_us-gaap_Goodwill_13f8fc20-7fa8-4b75-a732-37a371279e45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d392fad3-58cb-46fb-919d-61390f0a83e8" 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_GoodwillImpairedAccumulatedImpairmentLoss_b87f7622-8572-4f2d-a1b6-14907eee51f9" 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_GoodwillAndIntangibleAssetsDisclosureAbstract_d392fad3-58cb-46fb-919d-61390f0a83e8" xlink:to="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_b87f7622-8572-4f2d-a1b6-14907eee51f9" 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-20240331.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_52b9ee90-4ec8-42ba-9df0-7c1254900374" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" 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_52b9ee90-4ec8-42ba-9df0-7c1254900374" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_9273a1f5-cb3d-4a8d-8601-84d40336597a" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_9273a1f5-cb3d-4a8d-8601-84d40336597a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_81d26c33-318a-43c6-8054-c4a42a4a7379" 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_9273a1f5-cb3d-4a8d-8601-84d40336597a" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_81d26c33-318a-43c6-8054-c4a42a4a7379" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_01849c71-fcf5-4884-beeb-2c5bb2d88642" 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_81d26c33-318a-43c6-8054-c4a42a4a7379" xlink:to="loc_us-gaap_TrademarksMember_01849c71-fcf5-4884-beeb-2c5bb2d88642" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5a8bca10-449d-4e28-960e-47646966245a" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5a8bca10-449d-4e28-960e-47646966245a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_54e371a3-0a86-4183-95ff-907292a810d0" 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_5a8bca10-449d-4e28-960e-47646966245a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_54e371a3-0a86-4183-95ff-907292a810d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_8415affc-44a3-4b72-8655-06ce0e1c2ee0" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_TrademarksMember_8415affc-44a3-4b72-8655-06ce0e1c2ee0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_76fc038f-b1a4-45bc-afce-c2549b3110dd" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_76fc038f-b1a4-45bc-afce-c2549b3110dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_496ca1b4-8fe8-4de1-a0ce-d76d9cbe1611" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_CustomerRelationshipsMember_496ca1b4-8fe8-4de1-a0ce-d76d9cbe1611" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_4cb50947-8e55-46b3-ab87-0900c63a3dc1" 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_54e371a3-0a86-4183-95ff-907292a810d0" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_4cb50947-8e55-46b3-ab87-0900c63a3dc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" 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_a80b96ce-47b1-4699-aaf4-43b9886df1ea" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0010a1d9-435b-44c4-838c-15f1d38599b0" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0010a1d9-435b-44c4-838c-15f1d38599b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ed700c05-65ee-4fda-b6a9-e73461d269b5" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ed700c05-65ee-4fda-b6a9-e73461d269b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_704a9dca-c483-4279-b425-d829cc878e87" xlink:href="rock-20240331.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_704a9dca-c483-4279-b425-d829cc878e87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_b7b5cae4-56b4-42f1-bbc1-330a2e9352c9" xlink:href="rock-20240331.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_b7b5cae4-56b4-42f1-bbc1-330a2e9352c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c216d436-2d0f-4d0d-8b81-71f9edbc6aa6" 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_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c216d436-2d0f-4d0d-8b81-71f9edbc6aa6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_860d351a-a3e3-4976-bc35-2699a3ee67fc" xlink:href="rock-20240331.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_98595837-a13f-4163-97e4-c213ddc9f5d6" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_860d351a-a3e3-4976-bc35-2699a3ee67fc" 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-20240331.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_84e40609-1eb6-4b8c-8a3b-f16489ae5bed" 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_9ffa3da3-eeaf-47a8-84ec-0ed62192606c" 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_84e40609-1eb6-4b8c-8a3b-f16489ae5bed" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_9ffa3da3-eeaf-47a8-84ec-0ed62192606c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1" xlink:type="simple" xlink:href="rock-20240331.xsd#GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" 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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_c9d610c2-32b7-47f9-a6ee-e12e03c1cdd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_c9d610c2-32b7-47f9-a6ee-e12e03c1cdd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_eed49c67-bc74-4cca-a510-88f700714b5f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_eed49c67-bc74-4cca-a510-88f700714b5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_55ecb559-734b-45b3-a9fe-bad1f20914a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_55ecb559-734b-45b3-a9fe-bad1f20914a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_32d3a5a1-966b-4279-945c-64b5bdfcece8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_32d3a5a1-966b-4279-945c-64b5bdfcece8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_dd903558-6fd3-4396-8f2d-a4e3eed430e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_dd903558-6fd3-4396-8f2d-a4e3eed430e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_ba0e7e14-1ee8-433f-a394-d07dbc5910a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bca6b03b-3bab-47ce-af7a-6f7e3dedd4c3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_ba0e7e14-1ee8-433f-a394-d07dbc5910a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#LongTermDebtNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract_2766a1e5-9e38-4e7e-aa7f-6b226de7b365" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" 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_2766a1e5-9e38-4e7e-aa7f-6b226de7b365" xlink:to="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_DebtInstrumentAxis_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" 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_09ae7ae3-987a-461f-b54b-120a1dca9e27" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_c62c1ef9-2da7-4b0f-8442-d2a30bfdd8bb" xlink:href="rock-20240331.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_c62c1ef9-2da7-4b0f-8442-d2a30bfdd8bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_65ec5732-1f10-48b0-8487-7a789a74072b" xlink:href="rock-20240331.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_65ec5732-1f10-48b0-8487-7a789a74072b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_397a0c49-0345-4c62-8bed-a2fb128f6d0c" xlink:href="rock-20240331.xsd#rock_SeniorCreditAgreementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_b452accc-c64a-45b0-a1d7-f1cc46f685f6" xlink:to="loc_rock_SeniorCreditAgreementMember_397a0c49-0345-4c62-8bed-a2fb128f6d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_34d39cfc-60a3-4332-9a5b-b1e508b3956f" 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_685ef0b6-4491-4455-bc5d-2d0559cfe975" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_f61b1891-0c8d-41e1-936a-ad2a47948093" 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_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:to="loc_us-gaap_LineOfCreditMember_f61b1891-0c8d-41e1-936a-ad2a47948093" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_914a60d1-5f24-4adc-93f2-ca9574165f1e" 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_34d39cfc-60a3-4332-9a5b-b1e508b3956f" xlink:to="loc_us-gaap_MediumTermNotesMember_914a60d1-5f24-4adc-93f2-ca9574165f1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:href="rock-20240331.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:href="rock-20240331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_764c45cf-dc14-44f5-82d4-ef95acf09e9b" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member_29d2f181-fac6-4dd1-876f-7237316c7511" xlink:href="rock-20240331.xsd#rock_ApplicableRatePeriod1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:to="loc_rock_ApplicableRatePeriod1Member_29d2f181-fac6-4dd1-876f-7237316c7511" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_58a3aaaf-14e5-478f-bdca-2ea5a3563b81" xlink:href="rock-20240331.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_8c3774b8-7e0c-4e52-9519-16b729015161" xlink:to="loc_rock_ApplicableRatePeriod2Member_58a3aaaf-14e5-478f-bdca-2ea5a3563b81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_27f80f47-f145-410a-b389-397a23c0d167" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_VariableRateAxis_27f80f47-f145-410a-b389-397a23c0d167" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" 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_27f80f47-f145-410a-b389-397a23c0d167" xlink:to="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_8fa4b5f9-3a86-437f-bba8-47be5fa808dc" 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_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_us-gaap_BaseRateMember_8fa4b5f9-3a86-437f-bba8-47be5fa808dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember_e33b5442-6b7b-44b5-84a2-a622724ee51f" xlink:href="rock-20240331.xsd#rock_SecuredOvernightFinancingRateSOFRMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_SecuredOvernightFinancingRateSOFRMember_e33b5442-6b7b-44b5-84a2-a622724ee51f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_d8d8b06e-6d6d-46a9-b438-009c5aaceb18" xlink:href="rock-20240331.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_d8d8b06e-6d6d-46a9-b438-009c5aaceb18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ForeignCurrencyRateFloorMember_c9daf3fc-1f20-4103-8329-2cfb63717989" xlink:href="rock-20240331.xsd#rock_ForeignCurrencyRateFloorMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_be098378-373a-479d-8f91-afce399eacd5" xlink:to="loc_rock_ForeignCurrencyRateFloorMember_c9daf3fc-1f20-4103-8329-2cfb63717989" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_CreditFacilityAxis_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" 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_eb5e1cb7-9a5b-4053-ade7-060061421167" xlink:to="loc_us-gaap_CreditFacilityDomain_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_9479f6b4-caeb-4d01-b98b-551821c8380e" 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_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_9479f6b4-caeb-4d01-b98b-551821c8380e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_fab22e26-bf2a-472a-a707-0f2e5bc05acf" 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_6b624d5e-ad3c-4fb0-88fe-8ef7bdde1806" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_fab22e26-bf2a-472a-a707-0f2e5bc05acf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_srt_RangeAxis_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e2933d18-22a9-4f8b-be81-d25012d00796" 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_f2c41742-3235-4195-940f-4e9931c2d2bc" xlink:to="loc_srt_RangeMember_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f585bbef-7411-40d9-9593-1c0b984c01d1" 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_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:to="loc_srt_MinimumMember_f585bbef-7411-40d9-9593-1c0b984c01d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d7237b60-cab3-4832-8146-3ee20824ad1a" 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_e2933d18-22a9-4f8b-be81-d25012d00796" xlink:to="loc_srt_MaximumMember_d7237b60-cab3-4832-8146-3ee20824ad1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" 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_b2bbd5e3-ac49-4fcc-a888-a42bd4aa0aa4" xlink:to="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_d46c3ed4-8185-4579-b597-444d13647219" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_d46c3ed4-8185-4579-b597-444d13647219" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_dda31556-d4aa-43b5-a346-116e6c252fce" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_dda31556-d4aa-43b5-a346-116e6c252fce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_ab09862f-658d-4ba9-906b-83cc54606de2" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_ab09862f-658d-4ba9-906b-83cc54606de2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_9b9ee2d4-582a-46bd-ae84-d7c9a08ed748" xlink:href="rock-20240331.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_9b9ee2d4-582a-46bd-ae84-d7c9a08ed748" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_de96d3fa-1930-412b-83a9-849488faaf2a" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_de96d3fa-1930-412b-83a9-849488faaf2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5527666b-88bd-47ea-81a5-eec963821db3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5527666b-88bd-47ea-81a5-eec963821db3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_0fed82fa-89c9-45a9-acc1-f8c1683d6796" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_0fed82fa-89c9-45a9-acc1-f8c1683d6796" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_99ed43cd-5a6c-4e4e-a05e-e0c5df59b62c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_99ed43cd-5a6c-4e4e-a05e-e0c5df59b62c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_81160cc7-a70d-4c59-881a-41ae70c41a78" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_81160cc7-a70d-4c59-881a-41ae70c41a78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_cbb562e9-680b-4d87-9521-f8b8ae5e578a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_LongTermDebt_cbb562e9-680b-4d87-9521-f8b8ae5e578a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_f4d16549-6a3d-4382-a24c-0c4da7ff946f" 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_1a0f756f-1e16-4877-84fd-725b9c400d20" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_f4d16549-6a3d-4382-a24c-0c4da7ff946f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EquityBasedCompensationIncentivePlanDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_e23a25a6-95fa-445a-9202-a804d5476702" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" 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_e23a25a6-95fa-445a-9202-a804d5476702" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_424320b0-a47d-47ce-b773-3bed97276622" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:to="loc_us-gaap_PlanNameAxis_424320b0-a47d-47ce-b773-3bed97276622" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" 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_424320b0-a47d-47ce-b773-3bed97276622" xlink:to="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_d7051b46-0df3-4299-8425-175f90cc84c6" xlink:href="rock-20240331.xsd#rock_Amended2018PlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:to="loc_rock_Amended2018PlanMember_d7051b46-0df3-4299-8425-175f90cc84c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_b97f761f-85f7-45b6-b4e3-7c08d07edc6f" xlink:href="rock-20240331.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_71c143ca-ecea-4c64-8d51-a4c32761e44f" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_b97f761f-85f7-45b6-b4e3-7c08d07edc6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_7b19a6bd-56b3-409c-aff7-acbfa257acc2" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:to="loc_us-gaap_AwardTypeAxis_7b19a6bd-56b3-409c-aff7-acbfa257acc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5b67f241-c72b-4dc6-bf33-a1b21e654842" 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_7b19a6bd-56b3-409c-aff7-acbfa257acc2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5b67f241-c72b-4dc6-bf33-a1b21e654842" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_abc86efa-55fd-4fe1-a34d-31b804e44085" 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_5b67f241-c72b-4dc6-bf33-a1b21e654842" xlink:to="loc_us-gaap_CommonStockMember_abc86efa-55fd-4fe1-a34d-31b804e44085" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2dd38448-e6f6-4d52-8291-57017475ea93" 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_7aa4bbe1-d896-410c-aa7d-d6dde4c05ce3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2dd38448-e6f6-4d52-8291-57017475ea93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_e83d0c6e-5dad-45c6-a3a9-fb23061b1fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2dd38448-e6f6-4d52-8291-57017475ea93" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_e83d0c6e-5dad-45c6-a3a9-fb23061b1fa2" 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-20240331.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_ac253366-214f-466a-87af-b751456c7282" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" 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_ac253366-214f-466a-87af-b751456c7282" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeAxis_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_MeasurementInputTypeAxis_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" 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_ed9828ac-302f-4ccb-9896-7f3356c8b48a" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_09620bef-93d4-4d7a-9cad-7424e513451f" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MeasurementInputTypeDomain_6b0ebcc6-099f-490d-89ec-048c71b2bc88" xlink:to="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_09620bef-93d4-4d7a-9cad-7424e513451f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_srt_RangeAxis_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_57642823-141f-4e3f-9d5b-0c98ae0555c2" 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_69acd0da-d3e7-41b1-b569-e403b6c0b8f6" xlink:to="loc_srt_RangeMember_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a6ec09e0-9a09-4d47-9c32-89783e70c02a" 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_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:to="loc_srt_MinimumMember_a6ec09e0-9a09-4d47-9c32-89783e70c02a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5969cc39-3821-4cdb-ab57-5f902108c3f3" 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_57642823-141f-4e3f-9d5b-0c98ae0555c2" xlink:to="loc_srt_MaximumMember_5969cc39-3821-4cdb-ab57-5f902108c3f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_PlanNameAxis_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" 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_d46f6bd6-3422-4a40-b0bd-c71ac9bbdc92" xlink:to="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_122a09ab-9efe-4fa5-8371-ce9ffe7d357e" xlink:href="rock-20240331.xsd#rock_A2018PlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_06e2a570-dc08-4cf4-b10e-2884f489b377" xlink:to="loc_rock_A2018PlanMember_122a09ab-9efe-4fa5-8371-ce9ffe7d357e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_63f357bf-2313-435f-88e3-99d4762e0805" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_AwardTypeAxis_63f357bf-2313-435f-88e3-99d4762e0805" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" 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_63f357bf-2313-435f-88e3-99d4762e0805" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_28a8aa27-146e-4e63-a505-d73d7813aaa3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:to="loc_us-gaap_PerformanceSharesMember_28a8aa27-146e-4e63-a505-d73d7813aaa3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_937dd2d6-8b54-44cc-94a1-8f95a4280191" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8408a2bf-54c5-4a26-8302-28957f27dea2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_937dd2d6-8b54-44cc-94a1-8f95a4280191" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" 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_1c4bb9cf-ff2b-4557-bc08-0e1344f348f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_80f330c3-30e2-408e-a2e2-04884b1700b6" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_80f330c3-30e2-408e-a2e2-04884b1700b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ee30b31e-11a8-42a5-820f-0d3b54ed1263" 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_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ee30b31e-11a8-42a5-820f-0d3b54ed1263" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_d0ee5bb8-f9c2-4841-bc65-5a9dd4658144" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_d0ee5bb8-f9c2-4841-bc65-5a9dd4658144" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_074b3b87-f9db-49c2-b85d-062aed0408ef" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_074b3b87-f9db-49c2-b85d-062aed0408ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_b03c984c-3867-4eaa-b6d0-0d72ddac6564" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_b03c984c-3867-4eaa-b6d0-0d72ddac6564" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_b7ec9eef-42fd-470e-9cff-839538fdd2f2" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_b7ec9eef-42fd-470e-9cff-839538fdd2f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_afc91fd4-af5b-439d-8b52-7bd2e834e357" xlink:href="rock-20240331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_98017f32-dea9-4ada-b745-45d36ccd09f2" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_afc91fd4-af5b-439d-8b52-7bd2e834e357" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_9f0c0d93-31ae-4f1c-a19c-2888eb2eefb8" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" 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_9f0c0d93-31ae-4f1c-a19c-2888eb2eefb8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_57bee8af-0696-4adb-a02c-379a14237522" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_PlanNameAxis_57bee8af-0696-4adb-a02c-379a14237522" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" 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_57bee8af-0696-4adb-a02c-379a14237522" xlink:to="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_4bebdd64-8690-4de7-86c2-b93188068083" xlink:href="rock-20240331.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_4c012d48-21df-4ddd-b0d2-303426108a99" xlink:to="loc_rock_ManagementStockPurchasePlanMember_4bebdd64-8690-4de7-86c2-b93188068083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_247df4fb-dbce-417e-9ef8-ff71b8652264" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_247df4fb-dbce-417e-9ef8-ff71b8652264" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" 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_247df4fb-dbce-417e-9ef8-ff71b8652264" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_0df02457-b43c-44ff-8e79-18264ea6b0cb" xlink:href="rock-20240331.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:to="loc_rock_NonCurrentLiabilitiesMember_0df02457-b43c-44ff-8e79-18264ea6b0cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_31b49cae-b718-4782-98c6-370b8a1af32f" xlink:href="rock-20240331.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_72d74862-73a4-45c1-badc-3085dbee4e95" xlink:to="loc_rock_AccruedExpensesCurrentMember_31b49cae-b718-4782-98c6-370b8a1af32f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3146ad6a-5334-4a5a-b255-6b441ca22bcc" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_AwardTypeAxis_3146ad6a-5334-4a5a-b255-6b441ca22bcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f853425f-c93c-4ea9-89f0-136d1893c39e" 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_3146ad6a-5334-4a5a-b255-6b441ca22bcc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f853425f-c93c-4ea9-89f0-136d1893c39e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_44542e7f-1633-4d09-93d4-9884baaf65b2" 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_f853425f-c93c-4ea9-89f0-136d1893c39e" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_44542e7f-1633-4d09-93d4-9884baaf65b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" 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_84a4c965-1810-4480-ae5a-a7d7b996d92d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_fb4dcb5c-396f-4047-8a40-d974f3dbfc72" xlink:href="rock-20240331.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_rock_AccruedEquityBasedCompensation_fb4dcb5c-396f-4047-8a40-d974f3dbfc72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_0b85cb24-5c52-4c05-ac1c-0d802e3551f4" xlink:href="rock-20240331.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_0b85cb24-5c52-4c05-ac1c-0d802e3551f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_cb4e6516-5a18-4c77-9258-b68a1e94807c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_cb4e6516-5a18-4c77-9258-b68a1e94807c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_2c5838f1-e046-44d9-9fcf-3377383ac39e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e6e56a15-9c6f-42c3-a469-1923476790e4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_2c5838f1-e046-44d9-9fcf-3377383ac39e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_f03892de-2d3d-4d4d-9fba-9428d626c7f8" 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_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" 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_f03892de-2d3d-4d4d-9fba-9428d626c7f8" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:to="loc_srt_ConsolidationItemsAxis_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_09b1a27b-2564-457b-bf02-869525edab2d" 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_fdbeae03-ba36-44f1-b647-3f2f915ebed4" xlink:to="loc_srt_ConsolidationItemsDomain_09b1a27b-2564-457b-bf02-869525edab2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_4749c205-0529-49b2-8541-db7b2bbcc7aa" 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_09b1a27b-2564-457b-bf02-869525edab2d" xlink:to="loc_us-gaap_OperatingSegmentsMember_4749c205-0529-49b2-8541-db7b2bbcc7aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_2700a851-0454-45ef-a89e-1491eac25878" 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_09b1a27b-2564-457b-bf02-869525edab2d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_2700a851-0454-45ef-a89e-1491eac25878" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" 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_ScheduleOfRestructuringAndRelatedCostsTable_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" 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_139a7c9d-3e9b-4dd8-8a62-d947c68aaaed" xlink:to="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewableEnergyandConservationMember_b89bd341-a437-47d0-b098-e29cb0a2635a" xlink:href="rock-20240331.xsd#rock_RenewableEnergyandConservationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_RenewableEnergyandConservationMember_b89bd341-a437-47d0-b098-e29cb0a2635a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_883cf9ab-4010-43d1-b787-5258cfc238d5" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_ResidentialProductsMember_883cf9ab-4010-43d1-b787-5258cfc238d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_16318c7a-5f63-4745-88b7-d1df897a61bd" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_AgtechMember_16318c7a-5f63-4745-88b7-d1df897a61bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_7ac4b105-30d8-437e-a0ed-5d4a46b1c7be" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_1643e1c2-1dd9-441a-8d43-27f73867b68c" xlink:to="loc_rock_InfrastructureMember_7ac4b105-30d8-437e-a0ed-5d4a46b1c7be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" 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_3d4a5e3c-4c2b-4e55-aa03-0fb6435a9912" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_121435cd-22f6-41f9-9042-5b00c36760ac" 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_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_BusinessExitCosts1_121435cd-22f6-41f9-9042-5b00c36760ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessExitCostsRecoveries_e779b0f6-7b7c-41ca-a58f-d954e16464fa" xlink:href="rock-20240331.xsd#rock_BusinessExitCostsRecoveries"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_BusinessExitCostsRecoveries_e779b0f6-7b7c-41ca-a58f-d954e16464fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_7460e816-7bbd-43f6-95d5-bf52c99f6212" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_7460e816-7bbd-43f6-95d5-bf52c99f6212" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_93d19adf-b199-4ed8-a31b-44bd2f49f02c" xlink:href="rock-20240331.xsd#rock_RestructuringSettlementAndImpairmentProvisionsRecovery"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_RestructuringSettlementAndImpairmentProvisionsRecovery_93d19adf-b199-4ed8-a31b-44bd2f49f02c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_6636e11a-398c-4a86-be45-455152256139" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_us-gaap_RestructuringCharges_6636e11a-398c-4a86-be45-455152256139" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringChargesRecoveries_7a335e48-1feb-4904-80dc-cc78decc3ff5" xlink:href="rock-20240331.xsd#rock_RestructuringChargesRecoveries"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_36501fd5-6f72-4f76-a7f7-2c00a832755d" xlink:to="loc_rock_RestructuringChargesRecoveries_7a335e48-1feb-4904-80dc-cc78decc3ff5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_3aec8592-96ed-4dad-8907-2b515ab49109" 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_f4098649-013d-4090-b5b3-99c3c9e224df" 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_3aec8592-96ed-4dad-8907-2b515ab49109" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f4098649-013d-4090-b5b3-99c3c9e224df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_55578df6-afc4-48d9-873a-23419ae9485e" 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_f4098649-013d-4090-b5b3-99c3c9e224df" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_55578df6-afc4-48d9-873a-23419ae9485e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" 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_55578df6-afc4-48d9-873a-23419ae9485e" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_3ccb4edc-01f5-4c38-8b90-d99e44fc8398" 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_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:to="loc_us-gaap_CostOfSalesMember_3ccb4edc-01f5-4c38-8b90-d99e44fc8398" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_15a12c63-9a7b-4296-a9a0-85aec981b8c7" xlink:href="rock-20240331.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b50e8465-1d2b-42e9-b60e-5d43da102daa" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_15a12c63-9a7b-4296-a9a0-85aec981b8c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" 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_f4098649-013d-4090-b5b3-99c3c9e224df" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_c58ea93f-2ed4-4e5b-8b5a-19c8bfe1e2bc" 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_16d041bc-3836-4b5d-b9aa-fa433bf8b12c" xlink:to="loc_us-gaap_RestructuringCharges_c58ea93f-2ed4-4e5b-8b5a-19c8bfe1e2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesofLiabilityforExitActivityCostsRelatingtoFacilityConsolidationEffortsDetails" xlink:type="simple" xlink:href="rock-20240331.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_77cd6866-bf59-4891-8e32-f7898733eb6d" 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_6cc59198-7fca-47a2-b42d-04860e94488d" 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_77cd6866-bf59-4891-8e32-f7898733eb6d" xlink:to="loc_us-gaap_RestructuringReserveRollForward_6cc59198-7fca-47a2-b42d-04860e94488d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_dd2bd56b-eb34-4a45-a74e-246b266fcca2" 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_6cc59198-7fca-47a2-b42d-04860e94488d" xlink:to="loc_us-gaap_RestructuringReserve_dd2bd56b-eb34-4a45-a74e-246b266fcca2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_ce41a2b1-cee5-40d1-a81c-8b010825e1f0" 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_6cc59198-7fca-47a2-b42d-04860e94488d" xlink:to="loc_us-gaap_BusinessExitCosts1_ce41a2b1-cee5-40d1-a81c-8b010825e1f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_f35d6c18-4d2f-4e49-b2e9-77e51157901e" 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_6cc59198-7fca-47a2-b42d-04860e94488d" xlink:to="loc_us-gaap_PaymentsForRestructuring_f35d6c18-4d2f-4e49-b2e9-77e51157901e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_8246c609-e4fa-49ff-9ddc-a542d09b20bd" 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_6cc59198-7fca-47a2-b42d-04860e94488d" xlink:to="loc_us-gaap_RestructuringReserve_8246c609-e4fa-49ff-9ddc-a542d09b20bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_cf39719e-c17b-4be0-8185-f3957245f10f" 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_IncomeTaxExpenseBenefit_e7a095cc-bef8-47bd-b670-e670be101878" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_cf39719e-c17b-4be0-8185-f3957245f10f" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_e7a095cc-bef8-47bd-b670-e670be101878" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_bedb301a-bc5b-4e21-a1c1-c3fcf46bac82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_cf39719e-c17b-4be0-8185-f3957245f10f" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_bedb301a-bc5b-4e21-a1c1-c3fcf46bac82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="rock-20240331.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_1b1a89af-c489-49ad-85b1-8d330ab290eb" 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_589c155a-0c0f-46a7-bd19-7dbd1138f7e1" 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_IncomeTaxDisclosureAbstract_1b1a89af-c489-49ad-85b1-8d330ab290eb" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_589c155a-0c0f-46a7-bd19-7dbd1138f7e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#EarningsperShareDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_b8685b80-9ed0-47f2-8e2e-d5f35da09bd8" 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_10337e9b-0b05-446c-aed6-5626ce8783ed" 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_b8685b80-9ed0-47f2-8e2e-d5f35da09bd8" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_10337e9b-0b05-446c-aed6-5626ce8783ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" 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_10337e9b-0b05-446c-aed6-5626ce8783ed" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4055e789-bd83-48b8-aaee-553ecfca467b" 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_9a27a7e1-d85d-4e30-ad1c-c91459ffca51" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4055e789-bd83-48b8-aaee-553ecfca467b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_20298ebb-98e0-4897-b855-4e4f90fb7142" 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_4055e789-bd83-48b8-aaee-553ecfca467b" xlink:to="loc_us-gaap_CommonStockMember_20298ebb-98e0-4897-b855-4e4f90fb7142" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" 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_10337e9b-0b05-446c-aed6-5626ce8783ed" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_f535806a-fbf7-4b4e-b7d0-71eae2b2ef19" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_NetIncomeLoss_f535806a-fbf7-4b4e-b7d0-71eae2b2ef19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1830538a-7d89-4d04-868d-377afbf4f53c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1830538a-7d89-4d04-868d-377afbf4f53c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_c158889d-6088-49c8-a81e-87768a53d439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_c158889d-6088-49c8-a81e-87768a53d439" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_95f2e32c-802d-47df-9fa3-358f8ca503f7" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_95f2e32c-802d-47df-9fa3-358f8ca503f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5733137e-2da2-4e94-ae1c-09a00b7aa186" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_d7f51ceb-b9cd-440f-8c84-1898570ef2e7" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5733137e-2da2-4e94-ae1c-09a00b7aa186" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#SegmentInformationDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_bcae05a9-dcf2-48af-a1f6-8c9d2c4c1a41" 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_23f968e1-97d6-4fa9-860c-a8233f24cd1c" 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_bcae05a9-dcf2-48af-a1f6-8c9d2c4c1a41" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:to="loc_srt_ConsolidationItemsAxis_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_af00daae-5c59-49d6-b416-45340e8a2a85" 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_0a4a2638-f48b-45e1-b0ca-69b1b03e2f8a" xlink:to="loc_srt_ConsolidationItemsDomain_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_3bb1efff-7580-48de-9afa-863d83e65380" 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_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:to="loc_us-gaap_OperatingSegmentsMember_3bb1efff-7580-48de-9afa-863d83e65380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_23c6011a-b37a-4fd3-8daf-3f876eaf6ab9" 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_af00daae-5c59-49d6-b416-45340e8a2a85" xlink:to="loc_us-gaap_CorporateNonSegmentMember_23c6011a-b37a-4fd3-8daf-3f876eaf6ab9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_a614f600-ec7a-47e3-a871-5c7d468bd7d1" 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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_a614f600-ec7a-47e3-a871-5c7d468bd7d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" 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_a614f600-ec7a-47e3-a871-5c7d468bd7d1" xlink:to="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_c7fc3bf6-751e-45aa-af39-437c1c1c5623" xlink:href="rock-20240331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_RenewablesMember_c7fc3bf6-751e-45aa-af39-437c1c1c5623" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_291e0959-1128-480b-9516-186b0731a4e7" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_ResidentialProductsMember_291e0959-1128-480b-9516-186b0731a4e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_46262a97-b2ac-4567-832b-0eb850ef566a" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_AgtechMember_46262a97-b2ac-4567-832b-0eb850ef566a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_5a2c87a7-545c-41e1-b504-1b8ac5e2d2cf" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_54b689ab-526e-475b-b953-ba1ecc4eb92c" xlink:to="loc_rock_InfrastructureMember_5a2c87a7-545c-41e1-b504-1b8ac5e2d2cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" 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_23f968e1-97d6-4fa9-860c-a8233f24cd1c" xlink:to="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_51d4c48c-3502-4510-be91-792848fe8b0b" 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_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_NumberOfReportableSegments_51d4c48c-3502-4510-be91-792848fe8b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_b089a85a-e618-47ef-9996-ca6789ba633b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_Revenues_b089a85a-e618-47ef-9996-ca6789ba633b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9b700536-c1cc-4507-bd92-edc837b292e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_OperatingIncomeLoss_9b700536-c1cc-4507-bd92-edc837b292e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_68baf204-b3a1-4701-98dd-94436475794d" 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_baa1502b-9af8-4508-905e-ee1e4c015732" xlink:to="loc_us-gaap_Assets_68baf204-b3a1-4701-98dd-94436475794d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails" xlink:type="simple" xlink:href="rock-20240331.xsd#SegmentInformationDisaggregationofRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_b70af9bc-1a93-4d27-86ab-8d718ee543a5" 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_DisaggregationOfRevenueTable_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" 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_SegmentReportingInformationRevenueAbstract_b70af9bc-1a93-4d27-86ab-8d718ee543a5" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_8a12966d-c44e-4567-883a-d86be9c1ce99" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_8a12966d-c44e-4567-883a-d86be9c1ce99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7611d315-4545-4368-9efa-513aad8db403" 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_8a12966d-c44e-4567-883a-d86be9c1ce99" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7611d315-4545-4368-9efa-513aad8db403" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_eec0146d-be33-4d00-b003-f55facb63f69" 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_7611d315-4545-4368-9efa-513aad8db403" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_eec0146d-be33-4d00-b003-f55facb63f69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_3117b821-c703-4c93-b367-25bd3e9a43fc" 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_7611d315-4545-4368-9efa-513aad8db403" xlink:to="loc_us-gaap_TransferredOverTimeMember_3117b821-c703-4c93-b367-25bd3e9a43fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_b097c07f-13db-41ed-a07c-0b55e2f033c4" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_b097c07f-13db-41ed-a07c-0b55e2f033c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" 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_b097c07f-13db-41ed-a07c-0b55e2f033c4" xlink:to="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_235c4084-9fa4-4dd6-a4b1-95209e4f8905" xlink:href="rock-20240331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_RenewablesMember_235c4084-9fa4-4dd6-a4b1-95209e4f8905" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_4cf6b9ae-5754-46e2-b7f1-5f1fe5cd1ff9" xlink:href="rock-20240331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_ResidentialProductsMember_4cf6b9ae-5754-46e2-b7f1-5f1fe5cd1ff9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_54c8ac3f-a709-457f-b259-4f35e7faf325" xlink:href="rock-20240331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_AgtechMember_54c8ac3f-a709-457f-b259-4f35e7faf325" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_d25add9a-ed1f-4abc-ad80-2208068876cf" xlink:href="rock-20240331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_37770434-a63f-47c6-af40-67a737d9581e" xlink:to="loc_rock_InfrastructureMember_d25add9a-ed1f-4abc-ad80-2208068876cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_8ce6cc24-c2d3-407b-9645-145aa0294d60" 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_2068be9b-643e-4db9-bd3a-9b8723ba9a4c" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_8ce6cc24-c2d3-407b-9645-145aa0294d60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_972e067d-766a-4145-a36d-89088693cedb" 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_8ce6cc24-c2d3-407b-9645-145aa0294d60" xlink:to="loc_us-gaap_Revenues_972e067d-766a-4145-a36d-89088693cedb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>11
<FILENAME>rock-20240331_g1.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 rock-20240331_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>XML
<SEQUENCE>13
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628890645472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Apr. 29, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-22462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">GIBRALTAR INDUSTRIES, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">16-1445150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">3556 Lake Shore Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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>
</tr>
<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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Buffalo<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">14219-0228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">826-6500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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>
</tr>
<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">ROCK<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,469,729<span></span>
</td>
</tr>
<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>
</tr>
<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">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000912562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979707824">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 292,506<span></span>
</td>
<td class="nump">$ 293,267<span></span>
</td>
</tr>
<tr class="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">208,118<span></span>
</td>
<td class="nump">216,338<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">84,388<span></span>
</td>
<td class="nump">76,929<span></span>
</td>
</tr>
<tr class="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">52,652<span></span>
</td>
<td class="nump">47,559<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">31,736<span></span>
</td>
<td class="nump">29,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest (income) expense</a></td>
<td class="num">(750)<span></span>
</td>
<td class="nump">1,491<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income</a></td>
<td class="num">(1,021)<span></span>
</td>
<td class="num">(397)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before taxes</a></td>
<td class="nump">33,507<span></span>
</td>
<td class="nump">28,276<span></span>
</td>
</tr>
<tr class="ro">
<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">8,561<span></span>
</td>
<td class="nump">7,177<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">$ 24,946<span></span>
</td>
<td class="nump">$ 21,099<span></span>
</td>
</tr>
<tr class="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:</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_IncomeLossFromContinuingOperationsPerBasicShare', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.82<span></span>
</td>
<td class="nump">$ 0.68<span></span>
</td>
</tr>
<tr class="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 );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.81<span></span>
</td>
<td class="nump">$ 0.68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">30,572<span></span>
</td>
<td class="nump">30,897<span></span>
</td>
</tr>
<tr class="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 );">Diluted (in shares)</a></td>
<td class="nump">30,793<span></span>
</td>
<td class="nump">31,024<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_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_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) related to nonoperating activities, 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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<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_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979714560">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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">$ 24,946<span></span>
</td>
<td class="nump">$ 21,099<span></span>
</td>
</tr>
<tr class="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 loss:</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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(964)<span></span>
</td>
<td class="num">(107)<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">$ 23,982<span></span>
</td>
<td class="nump">$ 20,992<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979179760">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 146,665<span></span>
</td>
<td class="nump">$ 99,426<span></span>
</td>
</tr>
<tr class="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,578 and $5,572, respectively</a></td>
<td class="nump">230,971<span></span>
</td>
<td class="nump">224,550<span></span>
</td>
</tr>
<tr class="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">137,878<span></span>
</td>
<td class="nump">120,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_OtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">15,205<span></span>
</td>
<td class="nump">17,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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">530,719<span></span>
</td>
<td class="nump">462,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_PropertyPlantAndEquipmentNet', window );">Property, plant, and equipment, net</a></td>
<td class="nump">108,028<span></span>
</td>
<td class="nump">107,603<span></span>
</td>
</tr>
<tr class="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">42,592<span></span>
</td>
<td class="nump">44,918<span></span>
</td>
</tr>
<tr class="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">511,797<span></span>
</td>
<td class="nump">513,383<span></span>
</td>
</tr>
<tr class="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">124,257<span></span>
</td>
<td class="nump">125,980<span></span>
</td>
</tr>
<tr class="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,464<span></span>
</td>
<td class="nump">2,316<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,319,857<span></span>
</td>
<td class="nump">1,256,451<span></span>
</td>
</tr>
<tr class="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">127,533<span></span>
</td>
<td class="nump">92,124<span></span>
</td>
</tr>
<tr class="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">82,805<span></span>
</td>
<td class="nump">88,719<span></span>
</td>
</tr>
<tr class="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 cost</a></td>
<td class="nump">53,261<span></span>
</td>
<td class="nump">44,735<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">263,599<span></span>
</td>
<td class="nump">225,578<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">57,106<span></span>
</td>
<td class="nump">57,103<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Non-current operating lease liabilities</a></td>
<td class="nump">33,793<span></span>
</td>
<td class="nump">35,989<span></span>
</td>
</tr>
<tr class="ro">
<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">25,174<span></span>
</td>
<td class="nump">22,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_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="ro">
<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="re">
<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,266 and 34,219 shares issued and outstanding in 2024 and 2023</a></td>
<td class="nump">343<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="ro">
<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">335,259<span></span>
</td>
<td class="nump">332,621<span></span>
</td>
</tr>
<tr class="re">
<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">763,457<span></span>
</td>
<td class="nump">738,511<span></span>
</td>
</tr>
<tr class="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 );">Accumulated other comprehensive loss</a></td>
<td class="num">(3,078)<span></span>
</td>
<td class="num">(2,114)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Cost of 3,797 and 3,778 common shares held in treasury in 2024 and 2023</a></td>
<td class="num">(155,796)<span></span>
</td>
<td class="num">(154,362)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">940,185<span></span>
</td>
<td class="nump">914,998<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,319,857<span></span>
</td>
<td class="nump">$ 1,256,451<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_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>17
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628984827616">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance</a></td>
<td class="nump">$ 5,578<span></span>
</td>
<td class="nump">$ 5,572<span></span>
</td>
</tr>
<tr class="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,266,000<span></span>
</td>
<td class="nump">34,266,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,219,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,797,000<span></span>
</td>
<td class="nump">3,778,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>18
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978706368">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash Flows from Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income available to common stockholders</a></td>
<td class="nump">$ 24,946<span></span>
</td>
<td class="nump">$ 21,099<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">6,663<span></span>
</td>
<td class="nump">6,834<span></span>
</td>
</tr>
<tr class="re">
<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">2,639<span></span>
</td>
<td class="nump">1,594<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_NoncashProjectAbandonmentCostsReversalOfCosts', window );">Exit activity recoveries, non-cash</a></td>
<td class="num">(72)<span></span>
</td>
<td class="num">(63)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Provision for (benefit of) deferred income taxes</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(51)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingActivitiesCashFlowStatement', window );">Other, net</a></td>
<td class="nump">1,691<span></span>
</td>
<td class="nump">1,023<span></span>
</td>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(6,950)<span></span>
</td>
<td class="num">(18,004)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(17,231)<span></span>
</td>
<td class="num">(1,586)<span></span>
</td>
</tr>
<tr class="ro">
<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">453<span></span>
</td>
<td class="nump">2,536<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">35,455<span></span>
</td>
<td class="nump">23,077<span></span>
</td>
</tr>
<tr class="ro">
<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">5,587<span></span>
</td>
<td class="nump">1,586<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">53,181<span></span>
</td>
<td class="nump">38,045<span></span>
</td>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="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 );">Purchases of property, plant, and equipment, net</a></td>
<td class="num">(4,366)<span></span>
</td>
<td class="num">(2,190)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">0<span></span>
</td>
<td class="nump">554<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 investing activities</a></td>
<td class="num">(4,366)<span></span>
</td>
<td class="num">(1,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_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>
</tr>
<tr class="re">
<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">0<span></span>
</td>
<td class="nump">11,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_RepaymentsOfLongTermDebt', window );">Long-term debt payments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(50,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_PaymentsForRepurchaseOfCommonStock', window );">Purchase of common stock at market prices</a></td>
<td class="num">(1,434)<span></span>
</td>
<td class="num">(7,509)<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">(1,434)<span></span>
</td>
<td class="num">(46,509)<span></span>
</td>
</tr>
<tr class="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">(142)<span></span>
</td>
<td class="num">(11)<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">47,239<span></span>
</td>
<td class="num">(10,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of year</a></td>
<td class="nump">99,426<span></span>
</td>
<td class="nump">17,608<span></span>
</td>
</tr>
<tr class="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 period</a></td>
<td class="nump">$ 146,665<span></span>
</td>
<td class="nump">$ 7,497<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_NoncashProjectAbandonmentCostsReversalOfCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash Project Abandonment Costs (Reversal Of 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_NoncashProjectAbandonmentCostsReversalOfCosts</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_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_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_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_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_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_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_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other 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_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_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_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>19
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978864928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statement of Stockholders' Equity - USD ($)<br> shares in Thousands, $ 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</div></th>
<th class="th"><div>Treasury&#160;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_CommonStockSharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,060<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="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, value 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="rc">
<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 );">Beginning balance (in shares) at Dec. 31, 2022</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">3,199<span></span>
</td>
</tr>
<tr class="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" 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">21,099<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,099<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(107)<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">(107)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,594<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Net settlement of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88<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">36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Net settlement of restricted stock units</a></td>
<td class="num">(1,929)<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,929)<span></span>
</td>
</tr>
<tr class="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">154<span></span>
</td>
</tr>
<tr class="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">(7,369)<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">$ (7,369)<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_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,148<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="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, value at Mar. 31, 2023</a></td>
<td class="nump">$ 835,387<span></span>
</td>
<td class="nump">$ 341<span></span>
</td>
<td class="nump">324,466<span></span>
</td>
<td class="nump">649,077<span></span>
</td>
<td class="num">(3,539)<span></span>
</td>
<td class="num">$ (134,958)<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_TreasuryStockCommonShares', window );">Ending balance (in shares) at Mar. 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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,389<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_CommonStockSharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">34,219<span></span>
</td>
<td class="nump">34,219<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="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, value 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="rc">
<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 );">Beginning balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">3,778<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">3,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_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" 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">$ 24,946<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,946<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(964)<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">(964)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,639<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Net settlement of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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>
<td class="nump">19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Net settlement of restricted stock units</a></td>
<td class="num">$ (1,434)<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,434)<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_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">34,219<span></span>
</td>
<td class="nump">34,266<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="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, value at Mar. 31, 2024</a></td>
<td class="nump">$ 940,185<span></span>
</td>
<td class="nump">$ 343<span></span>
</td>
<td class="nump">$ 335,259<span></span>
</td>
<td class="nump">$ 763,457<span></span>
</td>
<td class="num">$ (3,078)<span></span>
</td>
<td class="num">$ (155,796)<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_TreasuryStockCommonShares', window );">Ending balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">3,797<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">3,797<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_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_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_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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 issued during the period related to Restricted Stock Awards, net of any shares forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
<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>20
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893541328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product Warranties<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties 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_ProductWarrantyDisclosureTextBlock', window );">PRODUCT WARRANTIES</a></td>
<td class="text">PRODUCT WARRANTIES<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 generally warrants that its products will be free from material defects in workmanship and materials. Warranty reserve estimates are based on management&#8217;s judgment, considering such factors as historical experience, anticipated rates of claims, and other available information. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reserve for product warranties is presented within accrued expenses on the Company&#8217;s consolidated balance sheets. Activity in the product warranties is summarized as follows (in thousands):</span></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:98.538%"><tr><td style="width:1.0%"></td><td style="width:65.813%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.074%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">Three Months Ended<br/>March 31,</span></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="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%">2024</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%">2023</span></td><td colspan="3" style="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%">Beginning balance</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%">9,139&#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%">6,251&#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="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%">Provisions for product warranties, net of 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%">929&#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%">(88)</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="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%">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%">10,068&#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,163&#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="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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for 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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<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/2147482425/460-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-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_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>21
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893439408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis Of Presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">BASIS OF PRESENTATION</a></td>
<td class="text">BASIS OF PRESENTATION<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 accompanying unaudited consolidated financial statements of Gibraltar Industries, Inc. (the "Company") have been prepared by management in accordance with U.S. generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments (consisting of normal recurring adjustments) considered necessary for the fair presentation of results for the interim period have been included. The Company's operations are seasonal; for this and other reasons financial results for any interim period are not necessarily indicative of the results expected for any subsequent interim period or for the full year. The accompanying unaudited consolidated financial statements should be read in conjunction with the financial statements and notes thereto included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2023.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated balance sheet at&#160;December&#160;31, 2023&#160;has been derived from the audited financial statements at that date, but does not include all of the information and footnotes required by U.S. generally accepted accounting principles for complete financial statements.</span></div><div style="margin-top:10pt;text-align:justify"><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-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated all recent Accounting Standard Updates, including those that are currently effective in or after 2024, and determined that the adoption of these pronouncements would not have a material effect on the financial position, results of operations or cash flows of the Company.  There have been no material changes from the recent accounting pronouncements previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628888805856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable, Net<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, NET</a></td>
<td class="text">ACCOUNTS RECEIVABLE, NET<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable consisted of the following (in thousands):</span></div><div><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:56.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.952%"></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:19.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:10pt;font-weight:700;line-height:100%">March 31, 2024</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%">December 31, 2023</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%">194,343&#160;</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%">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></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%">42,206&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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 receivable</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%">236,549&#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:10pt;font-weight:400;line-height:100%">230,122&#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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less allowance for doubtful accounts and contract 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%">(5,578)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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 #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%">230,971&#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 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%">224,550&#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></tr></table></div><div style="margin-top:10pt;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><div style="margin-top:10pt;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 roll-forward of the allowance for credit losses, for the three month period ended March&#160;31, 2024, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (in thousands):</span></div><div style="margin-top:10pt"><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:77.847%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.953%"></td><td style="width:0.1%"></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%">Beginning balance as of January 1, 2024</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%">5,572&#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></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%">Bad debt expense, net of recoveries</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%">20&#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%">Accounts written off against allowance and other 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%">(14)</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%">Ending balance as of March 31, 2024</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%">5,578&#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_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>23
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893416096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 13 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2024, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less. </span></div><div style="margin-top:10pt;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 cost, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2024 and December 31, 2023 was $7.7&#160;million and $3.9&#160;million, respectively.  Revenue recognized during the three months ended March&#160;31, 2024 and 2023 that was in contract liabilities at the beginning of the respective periods was $27.7&#160;million and $18.7&#160;million, respectively.</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>24
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893593984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, Net<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, NET</a></td>
<td class="text">INVENTORIES, NET<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div><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:56.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.952%"></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:19.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:10pt;font-weight:700;line-height:100%">March 31, 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%">December 31, 2023</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%">84,524&#160;</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%">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></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%">12,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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%">47,811&#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%">42,942&#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 #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%">144,735&#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%">129,939&#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%">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%">(6,857)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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%">(9,436)</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, net</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%">137,878&#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%">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></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>25
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893450240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisition<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [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 );">ACQUISITION</a></td>
<td class="text">ACQUISITION<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 company 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 this acquisition was $10.4&#160;million, which includes a working capital adjustment and certain other adjustments provided for in the asset purchase agreement.</span></div><div style="margin-top:10pt;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 $3.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:10pt;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: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%">6,310&#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%">3,023&#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><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%">250&#160;</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%">3 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%">6,060&#160;</span></td><td style="background-color:#ffffff;padding: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%">6,310&#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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the allocation of the purchase price to the assets acquired and liabilities assumed, the Company uses all available information to make fair value determinations using Level 3 unobservable inputs in which little or no market data exists, and therefore, engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.</span></div><div style="margin-top:10pt;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 was financed primarily through borrowings under the Company's revolving credit facility.</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_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893506752">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">GOODWILL AND RELATED INTANGIBLE ASSETS</a></td>
<td class="text">GOODWILL AND RELATED INTANGIBLE ASSETS<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Goodwill</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%">The changes in the carrying amount of goodwill for the three months ended March&#160;31, 2024 are as follows (in thousands):</span></div><div style="margin-top:5pt;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:32.576%"></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.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.664%"></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:12.282%"></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.697%"></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:9.5pt;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:9.5pt;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:9.5pt;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, 2023</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%">184,230&#160;</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%">213,576&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;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:#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 #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%">513,383&#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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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></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%">Adjustments to prior year acquisitions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(1,110)</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%">Foreign currency translation</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%">(476)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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%">(476)</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 March 31, 2024</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%">212,466&#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,423&#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%">511,797&#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:10pt;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&#160;million as of March&#160;31, 2024 and December 31, 2023, respectively.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is required to regularly assess whether a triggering event has occurred which would require interim impairment testing. The Company determined that no triggering event had occurred as of March&#160;31, 2024 which would require an interim impairment test to be performed.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Acquired Intangible Assets</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%">Acquired intangible assets 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:35.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></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.104%"></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.104%"></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.110%"></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%">March 31, 2024</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, 2023</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:10pt;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:9.5pt;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:10pt;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:10pt;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="padding:2px 1pt;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="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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></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%">Trademarks</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%">52,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 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%">&#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: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%">52,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 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%">&#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></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%">Finite-lived intangible 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><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="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%">Trademarks</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,550&#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,611&#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,773&#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,714&#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%">Unpatented technology</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,812&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,587&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#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%">Customer relationships</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%">101,043&#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%">39,435&#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%">110,649&#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%">48,088&#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%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">722&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#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><td colspan="3" style="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 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%">136,127&#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:10pt;font-weight:400;line-height:100%">64,170&#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:10pt;font-weight:400;line-height:100%">152,931&#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:10pt;font-weight:400;line-height:100%">79,251&#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="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%">Total acquired intangible assets</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%">188,427&#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%">64,170&#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%">205,231&#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%">79,251&#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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;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 acquired intangible asset amortization expense for the three months ended March 31, (in thousands):</span></div><div><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.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">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%">2,718&#160;</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,766&#160;</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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><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 remainder of fiscal 2024 and the next five years thereafter is estimated as follows (in thousands):</span></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:33.307%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.295%"></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:9.295%"></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:9.295%"></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:9.148%"></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:9.148%"></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:9.152%"></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%">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%">2029</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%">7,926&#160;</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,485&#160;</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,897&#160;</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,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="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,281&#160;</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,232&#160;</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_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893613312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">LONG-TERM DEBT</a></td>
<td class="text">LONG-TERM 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 March 31, 2024 and December 31, 2023, respectively.  Unamortized debt issuance costs, included in other assets on the consolidated balance sheets, as of March 31, 2024 and December 31, 2023 were $1.7&#160;million and $1.7&#160;million, respectively.</span></div><div style="margin-top:10pt;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:5pt;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") which 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 Credit Agreement contains two financial covenants.  As of March&#160;31, 2024, the Company was in compliance with all financial covenants. The Credit Agreement terminates on December 8, 2027.</span></div><div style="margin-top:10pt;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:10pt;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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Standby letters of credit of $3.7&#160;million have been issued under the Credit Agreement to third parties on behalf of the Company as of March 31, 2024. These letters of credit reduce the amount otherwise available under the revolving credit facility. The Company had $396.3&#160;million and $396.1&#160;million of availability under the revolving credit facility as of March 31, 2024 and December 31, 2023, respectively.</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>28
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139629051106608">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:5pt;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 includes a total of 1,631,707 shares available for issuance.  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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which includes 200,000 shares available for issuance, 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:10pt;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 Stock</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%">The following table provides the number of stock units granted during the three months ended March 31, along with the weighted-average grant-date fair value of each award:</span></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:45.459%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></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.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.641%"></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="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%">2024</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%">2023</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:10pt;font-weight:700;line-height:120%">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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>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:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant-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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>Awards (2)</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:120%">Weighted-<br/>Average<br/>Grant-Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">Performance stock units (1)</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,582&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.70&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,611&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Restricted stock units</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,671&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.70&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,646&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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></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></tr></table></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%">(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 performance period.</span></div><div style="margin-top:9pt;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) PSUs granted in the first quarter of 2023 includes 7,825 units that were forfeited in the third quarter of 2023 and 147,572 units that will be converted to shares and issued to recipients in the first quarter of 2026, representing 200.0% of the target amount granted and not subsequently forfeited, based on the Company's actual ROIC compared to ROIC target for the performance period ended December 31, 2023.</span></div><div style="margin-top:10pt"><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:5pt;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 &#8220;MSPP&#8221;) 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:10pt;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 contains 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&#8217;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:10pt;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 March&#160;31, 2024 were $23.0 million, of which $2.6&#160;million was included in current accrued expenses and $20.4 million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $20.0 million, of which $2.0&#160;million was included in current accrued expenses and $18.0 million was included in non-current liabilities. The value of the restricted stock units within the MSPP liabilities was $20.0&#160;million and $17.3&#160;million at March&#160;31, 2024 and December&#160;31, 2023, respectively.</span></div><div style="margin-top:10pt;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 and the payments made with respect to MSPP liabilities during the three months ended March 31,: </span></div><div style="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:66.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.128%"></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.837%"></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%">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%">2023</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%">40,538&#160;</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,743&#160;</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%">MSPP liabilities paid (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%">2,023&#160;</span></td><td style="background-color:#ffffff;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,147&#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>29
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893413088">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:5pt;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, the sale and exiting of less profitable businesses or product lines, and a reduction in the Company's manufacturing footprint.</span></div><div style="margin-top:10pt;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 related to moving and closing costs and severance, along with asset impairment recoveries related to the write-down of inventory and other charges associated with discontinued product lines. Additionally, the Company has incurred the aforementioned costs resulting from the sale and/or closure of facilities including costs recorded during the three months ended March&#160;31, 2023. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the exit activity costs and asset impairment recoveries incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):</span></div><div><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.595%"></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.595%"></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.595%"></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.595%"></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.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended March 31,</span></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:10pt;font-weight:700;line-height:100%">2024</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: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 #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%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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%">Renewables</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%">269&#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%">&#8212;&#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%">269&#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%">&#8212;&#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%">(63)</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%">(63)</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%">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%">&#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%">(72)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">114&#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%">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%">138&#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%">138&#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%">561&#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%">561&#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%">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%">&#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%">&#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%">&#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></tr><tr><td colspan="3" 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%">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: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%">&#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></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:120%">Total</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%">407&#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%">(72)</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%">335&#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%">675&#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%">(63)</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%">612&#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><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></table></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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.595%"></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.595%"></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.595%"></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.595%"></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.605%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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></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%">The following table provides a summary of where the exit activity costs and asset impairment recoveries were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):</span></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:66.249%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.859%"></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:14.860%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Cost of 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%">(72)</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%">513&#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="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%">Selling, general, and administrative 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%">407&#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%">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="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%">Total exit activity and asset impairment charges </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%">335&#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%">612&#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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;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><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.297%"></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:14.838%"></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%">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%">2023</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 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%">6,725&#160;</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,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></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%">407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">675&#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%">(553)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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,321)</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 March 31</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%">6,579&#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%">1,771&#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>
</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>30
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893478608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text">INCOME TAXES<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 following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:</span></div><div style="margin-top:5pt;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:66.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Provision for income taxes</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%">8,561&#160;</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,177&#160;</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="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%">Effective tax 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%">25.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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%">25.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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="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>The effective tax rate for the three months ended March&#160;31, 2024 and 2023, respectively, was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by favorable discrete item<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>31
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893409312">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:5pt;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 three months ended March 31, (in thousands):</span></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:98.538%"><tr><td style="width:1.0%"></td><td style="width:65.813%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.074%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Numerator:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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: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="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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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 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 stockholders</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%">24,946&#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%">21,099&#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="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%">Denominator for basic earnings per share:</span></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="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 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:#cceeff;padding:2px 0 2px 1pt;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,572&#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%">30,897&#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="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%">Denominator for diluted earnings per share:</span></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="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 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:#cceeff;padding:2px 0 2px 1pt;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,572&#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%">30,897&#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="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%">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%">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%">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><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%">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,793&#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%">31,024&#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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;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 three months ended March 31, (in thousands):</span></div><div style="margin-top:5pt;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:66.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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:120%">Common stock units </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&#160;</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%">64&#160;</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="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_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>32
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893535968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:5pt;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:5pt;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 roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, 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="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii)</span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt">Agtech, which</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 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="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 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:10pt;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:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):</span></div><div style="text-align:center"><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:66.057%"></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.954%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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="padding:2px 1pt;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="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="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%">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%">51,496&#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%">59,205&#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="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%">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%">185,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,495&#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="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%">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%">34,027&#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%">35,852&#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="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%">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%">21,872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,715&#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="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 net sales</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%">292,506&#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%">293,267&#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="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 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="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%">Income from operations:</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="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%">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,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 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,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><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 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:#cceeff;padding:2px 0 2px 1pt;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,346&#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%">29,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="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%">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%">2,608&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,330&#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="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%">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%">4,896&#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,714&#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="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%">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%">(11,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,452)</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="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 income from 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%">31,736&#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,370&#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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):</span></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><td style="width:66.249%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.859%"></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:14.860%"></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:120%">March 31,<br/>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:120%">December 31,<br/>2023</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%">Total assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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-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%">374,137&#160;</span></td><td style="background-color:#ffffff;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,694&#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 13.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%">535,077&#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%">515,739&#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 13.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%">165,488&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><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-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%">82,176&#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%">77,518&#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 13.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%">162,979&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></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: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%">1,319,857&#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%">1,256,451&#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 following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands): </span></div><div style="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:17.174%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></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.689%"></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.689%"></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.689%"></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:14.696%"></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%">Three Months Ended March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">6,789&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">183,332&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">2,339&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">6,310&#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%">198,770&#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%">44,707&#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,779&#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%">31,688&#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%">15,562&#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%">93,736&#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 net sales</span></td><td style="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="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%">51,496&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">185,111&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">34,027&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">21,872&#160;</span></td><td style="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="padding:0 1pt"></td><td style="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="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%">292,506&#160;</span></td><td style="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:5pt;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:17.174%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></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.689%"></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.689%"></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.689%"></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:14.696%"></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%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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%">9,094&#160;</span></td><td style="background-color:#ffffff;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%">177,942&#160;</span></td><td style="background-color:#ffffff;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%">5,107&#160;</span></td><td style="background-color:#ffffff;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,061&#160;</span></td><td style="background-color:#ffffff;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%">198,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 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%">50,111&#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,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,745&#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%">12,654&#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%">95,063&#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 net sales</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%">59,205&#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%">179,495&#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%">35,852&#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%">18,715&#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%">293,267&#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_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>33
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978944112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis Of Presentation (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><div style="margin-top:10pt;text-align:justify"><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-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated all recent Accounting Standard Updates, including those that are currently effective in or after 2024, and determined that the adoption of these pronouncements would not have a material effect on the financial position, results of operations or cash flows of the Company.  There have been no material changes from the recent accounting pronouncements previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</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_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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893543696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product Warranties (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties 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_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Product Warranty Liability</a></td>
<td class="text">Activity in the product warranties is summarized as follows (in thousands):<div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"><tr><td style="width:1.0%"></td><td style="width:65.813%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.074%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">Three Months Ended<br/>March 31,</span></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="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%">2024</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%">2023</span></td><td colspan="3" style="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%">Beginning balance</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%">9,139&#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%">6,251&#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="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%">Provisions for product warranties, net of 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%">929&#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%">(88)</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="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%">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%">10,068&#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,163&#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="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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628890745152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable consisted of the following (in thousands):</span></div><div><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:56.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.952%"></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:19.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:10pt;font-weight:700;line-height:100%">March 31, 2024</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%">December 31, 2023</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%">194,343&#160;</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%">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></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%">42,206&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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 receivable</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%">236,549&#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:10pt;font-weight:400;line-height:100%">230,122&#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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less allowance for doubtful accounts and contract 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%">(5,578)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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 #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%">230,971&#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 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%">224,550&#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></tr></table></div><div style="margin-top:10pt;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 roll-forward of the allowance for credit losses, for the three month period ended March&#160;31, 2024, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (in thousands):</span></div><div style="margin-top:10pt"><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:77.847%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.953%"></td><td style="width:0.1%"></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%">Beginning balance as of January 1, 2024</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%">5,572&#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></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%">Bad debt expense, net of recoveries</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%">20&#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%">Accounts written off against allowance and other 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%">(14)</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%">Ending balance as of March 31, 2024</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%">5,578&#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>36
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893570848">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div><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:56.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.952%"></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:19.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:10pt;font-weight:700;line-height:100%">March 31, 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%">December 31, 2023</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%">84,524&#160;</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%">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></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%">12,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" 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%">47,811&#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%">42,942&#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 #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%">144,735&#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%">129,939&#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%">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%">(6,857)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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%">(9,436)</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, net</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%">137,878&#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%">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></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_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>37
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893463056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisition (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [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:10pt;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: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%">6,310&#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%">3,023&#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><span></span>
</td>
</tr>
<tr class="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><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%">250&#160;</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%">3 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%">6,060&#160;</span></td><td style="background-color:#ffffff;padding: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%">6,310&#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><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_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-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>38
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979488448">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule Of Changes In Carrying Amount Of Goodwill</a></td>
<td class="text"><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 changes in the carrying amount of goodwill for the three months ended March&#160;31, 2024 are as follows (in thousands):</span></div><div style="margin-top:5pt;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:32.576%"></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.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.664%"></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:12.282%"></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.697%"></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:9.5pt;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:9.5pt;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:9.5pt;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, 2023</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%">184,230&#160;</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%">213,576&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;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:#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 #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%">513,383&#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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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></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%">Adjustments to prior year acquisitions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,110)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(1,110)</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%">Foreign currency translation</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%">(476)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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%">(476)</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 March 31, 2024</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%">212,466&#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,423&#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%">511,797&#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:5pt;text-align:justify"><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: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:35.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></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.104%"></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.104%"></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.110%"></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%">March 31, 2024</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, 2023</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:10pt;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:9.5pt;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:10pt;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:10pt;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="padding:2px 1pt;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="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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></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%">Trademarks</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%">52,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 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%">&#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: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%">52,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 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%">&#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></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%">Finite-lived intangible 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><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="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%">Trademarks</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,550&#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,611&#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,773&#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,714&#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%">Unpatented technology</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,812&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,587&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#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%">Customer relationships</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%">101,043&#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%">39,435&#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%">110,649&#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%">48,088&#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%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">722&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#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><td colspan="3" style="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 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%">136,127&#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:10pt;font-weight:400;line-height:100%">64,170&#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:10pt;font-weight:400;line-height:100%">152,931&#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:10pt;font-weight:400;line-height:100%">79,251&#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="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%">Total acquired intangible assets</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%">188,427&#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%">64,170&#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%">205,231&#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%">79,251&#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="display:none"></td><td colspan="3" style="display:none"></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_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock', window );">Schedule of Acquired Intangible Asset Amortization Expense</a></td>
<td class="text"><div style="margin-top:10pt;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 acquired intangible asset amortization expense for the three months ended March 31, (in thousands):</span></div><div><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.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">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%">2,718&#160;</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,766&#160;</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="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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule Of Amortization Expense</a></td>
<td class="text"><div style="margin-top:10pt;text-align:justify"><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 remainder of fiscal 2024 and the next five years thereafter is estimated as follows (in thousands):</span></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:33.307%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.295%"></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:9.295%"></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:9.295%"></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:9.148%"></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:9.148%"></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:9.152%"></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%">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%">2029</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%">7,926&#160;</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,485&#160;</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,897&#160;</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,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="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,281&#160;</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,232&#160;</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_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Acquired Intangible Asset Amortization Expense [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_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock</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_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>39
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628886207376">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock', window );">Schedule Of Number Of Awards And Weighted Average Grant Date Fair Value</a></td>
<td class="text"><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 following table provides the number of stock units granted during the three months ended March 31, along with the weighted-average grant-date fair value of each award:</span></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:45.459%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></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.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.641%"></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="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%">2024</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%">2023</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:10pt;font-weight:700;line-height:120%">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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>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:10pt;font-weight:700;line-height:120%">Weighted-<br/>Average<br/>Grant-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:10pt;font-weight:700;line-height:120%">Number&#160;of<br/>Awards (2)</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:120%">Weighted-<br/>Average<br/>Grant-Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">Performance stock units (1)</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,582&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.70&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,611&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Restricted stock units</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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,671&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77.70&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,646&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></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></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></tr></table></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%">(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 performance period.</span></div><div style="margin-top:9pt;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) PSUs granted in the first quarter of 2023 includes 7,825 units that were forfeited in the third quarter of 2023 and 147,572 units that will be converted to shares and issued to recipients in the first quarter of 2026, representing 200.0% of the target amount granted and not subsequently forfeited, based on the Company's actual ROIC compared to ROIC target for the performance period ended December 31, 2023.</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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock', window );">Management Stock Purchase Plan</a></td>
<td class="text"><div style="margin-top:10pt;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 and the payments made with respect to MSPP liabilities during the three months ended March 31,: </span></div><div style="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:66.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.128%"></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.837%"></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%">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%">2023</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%">40,538&#160;</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,743&#160;</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%">MSPP liabilities paid (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%">2,023&#160;</span></td><td style="background-color:#ffffff;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,147&#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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee stock purchase plan activity.</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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893438640">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Summary Of Exit Activity Costs And Asset Impairments</a></td>
<td class="text"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the exit activity costs and asset impairment recoveries incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):</span></div><div><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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.595%"></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.595%"></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.595%"></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.595%"></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.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended March 31,</span></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:10pt;font-weight:700;line-height:100%">2024</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: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 #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%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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%">Renewables</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%">269&#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%">&#8212;&#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%">269&#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%">&#8212;&#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%">(63)</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%">(63)</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%">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%">&#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%">(72)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">114&#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%">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%">138&#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%">138&#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%">561&#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%">561&#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%">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%">&#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%">&#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%">&#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></tr><tr><td colspan="3" 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%">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: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%">&#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></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:120%">Total</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%">407&#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%">(72)</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%">335&#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%">675&#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%">(63)</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%">612&#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><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></table></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:25.800%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></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.595%"></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.595%"></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.595%"></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.595%"></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.605%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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></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%">The following table provides a summary of where the exit activity costs and asset impairment recoveries were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):</span></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:66.249%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.859%"></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:14.860%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Cost of 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%">(72)</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%">513&#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="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%">Selling, general, and administrative 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%">407&#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%">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="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%">Total exit activity and asset impairment charges </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%">335&#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%">612&#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="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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Reconciliation Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts</a></td>
<td class="text"><div style="margin-top:10pt;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><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.297%"></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:14.838%"></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%">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%">2023</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 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%">6,725&#160;</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,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></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%">407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">675&#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%">(553)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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,321)</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 March 31</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%">6,579&#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%">1,771&#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>
</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>41
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628888633744">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Summary Of Provision For Income Taxes For Continuing Operations</a></td>
<td class="text"><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 following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:</span></div><div style="margin-top:5pt;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:66.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Provision for income taxes</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%">8,561&#160;</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,177&#160;</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="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%">Effective tax 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%">25.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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%">25.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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="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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893491296">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 Loss Per Share</a></td>
<td class="text"><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%">Weighted average shares outstanding for basic and diluted earnings were as follows for the three months ended March 31, (in thousands):</span></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:98.538%"><tr><td style="width:1.0%"></td><td style="width:65.813%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.074%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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%">Numerator:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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: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="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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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 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 stockholders</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%">24,946&#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%">21,099&#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="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%">Denominator for basic earnings per share:</span></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="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 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:#cceeff;padding:2px 0 2px 1pt;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,572&#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%">30,897&#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="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%">Denominator for diluted earnings per share:</span></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="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 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:#cceeff;padding:2px 0 2px 1pt;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,572&#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%">30,897&#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="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%">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%">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%">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><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%">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,793&#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%">31,024&#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><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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share</a></td>
<td class="text"><div style="margin-top:10pt;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 three months ended March 31, (in thousands):</span></div><div style="margin-top:5pt;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:66.297%"></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:14.838%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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:120%">Common stock units </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&#160;</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%">64&#160;</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="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_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>43
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628888756224">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Reconciliation Of Sales To Earnings Before Income Taxes by Segment</a></td>
<td class="text"><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):</span></div><div style="text-align:center"><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:66.057%"></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.954%"></td><td style="width:0.1%"></td><td colspan="3" style="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="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%">2023</span></td><td colspan="3" style="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="padding:2px 1pt;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="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></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="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%">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%">51,496&#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%">59,205&#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="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%">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%">185,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,495&#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="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%">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%">34,027&#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%">35,852&#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="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%">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%">21,872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,715&#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="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 net sales</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%">292,506&#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%">293,267&#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="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 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="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%">Income from operations:</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="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%">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,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 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,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><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 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:#cceeff;padding:2px 0 2px 1pt;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,346&#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%">29,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="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%">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%">2,608&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,330&#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="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%">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%">4,896&#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,714&#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="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%">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%">(11,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,452)</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="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 income from 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%">31,736&#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,370&#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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):</span></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><td style="width:66.249%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.859%"></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:14.860%"></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:120%">March 31,<br/>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:120%">December 31,<br/>2023</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%">Total assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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-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%">374,137&#160;</span></td><td style="background-color:#ffffff;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,694&#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 13.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%">535,077&#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%">515,739&#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 13.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%">165,488&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><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-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%">82,176&#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%">77,518&#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 13.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%">162,979&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></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: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%">1,319,857&#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%">1,256,451&#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><span></span>
</td>
</tr>
<tr class="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:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands): </span></div><div style="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:17.174%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></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.689%"></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.689%"></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.689%"></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:14.696%"></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%">Three Months Ended March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">6,789&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">183,332&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">2,339&#160;</span></td><td style="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="padding:2px 0 2px 1pt;text-align:left;vertical-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%">6,310&#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%">198,770&#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%">44,707&#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,779&#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%">31,688&#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%">15,562&#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%">93,736&#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 net sales</span></td><td style="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="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%">51,496&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">185,111&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">34,027&#160;</span></td><td style="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:#ffffff;padding:0 1pt"></td><td style="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="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%">21,872&#160;</span></td><td style="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="padding:0 1pt"></td><td style="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="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%">292,506&#160;</span></td><td style="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:5pt;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:17.174%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></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.689%"></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.689%"></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.689%"></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:14.696%"></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%">Three Months Ended March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><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:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><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: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%">9,094&#160;</span></td><td style="background-color:#ffffff;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%">177,942&#160;</span></td><td style="background-color:#ffffff;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%">5,107&#160;</span></td><td style="background-color:#ffffff;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,061&#160;</span></td><td style="background-color:#ffffff;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%">198,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 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%">50,111&#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,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,745&#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%">12,654&#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%">95,063&#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 net sales</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%">59,205&#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%">179,495&#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%">35,852&#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%">18,715&#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%">293,267&#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_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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or 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 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> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: 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> -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_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="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>44
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979031952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product Warranties (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [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_StandardProductWarrantyAccrual', window );">Beginning balance</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_StandardProductWarrantyAccrualPeriodIncreaseDecrease', window );">Provisions for product warranties, net of reductions</a></td>
<td class="nump">929<span></span>
</td>
<td class="num">(88)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">$ 10,068<span></span>
</td>
<td class="nump">$ 6,163<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_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978837760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Receivable, Net (Schedule of Receivables) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [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_AccountsReceivableGrossCurrent', window );">Trade accounts receivable</a></td>
<td class="nump">$ 194,343<span></span>
</td>
<td class="nump">$ 178,087<span></span>
</td>
</tr>
<tr class="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">42,206<span></span>
</td>
<td class="nump">52,035<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 accounts receivable</a></td>
<td class="nump">236,549<span></span>
</td>
<td class="nump">230,122<span></span>
</td>
</tr>
<tr class="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 and contract assets</a></td>
<td class="num">(5,578)<span></span>
</td>
<td class="num">(5,572)<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, net</a></td>
<td class="nump">$ 230,971<span></span>
</td>
<td class="nump">$ 224,550<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>46
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628894296064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Accounts Receivable, Allowance for Credit Loss [Roll Forward]</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_AllowanceForDoubtfulAccountsReceivable', window );">Beginning balance as of January 1, 2024</a></td>
<td class="nump">$ 5,572<span></span>
</td>
</tr>
<tr class="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">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Accounts written off against allowance and other adjustments</a></td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Ending balance as of March 31, 2024</a></td>
<td class="nump">$ 5,578<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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</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 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 4: 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><br>Reference 5: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-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_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript: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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-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_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>47
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979111152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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">$ 7.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.9<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_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized', window );">Revenue recognized that was in contract liabilities at the beginning of the period</a></td>
<td class="nump">$ 27.7<span></span>
</td>
<td class="nump">$ 18.7<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01 | 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_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_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Liability, Including New Contract Revenue, Recognized</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_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized</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_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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-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_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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01</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>48
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628890117408">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw material</a></td>
<td class="nump">$ 84,524<span></span>
</td>
<td class="nump">$ 77,489<span></span>
</td>
</tr>
<tr class="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">12,400<span></span>
</td>
<td class="nump">9,508<span></span>
</td>
</tr>
<tr class="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">47,811<span></span>
</td>
<td class="nump">42,942<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">144,735<span></span>
</td>
<td class="nump">129,939<span></span>
</td>
</tr>
<tr class="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 );">Less reserves</a></td>
<td class="num">(6,857)<span></span>
</td>
<td class="num">(9,436)<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 );">Inventories, net</a></td>
<td class="nump">$ 137,878<span></span>
</td>
<td class="nump">$ 120,503<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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>
<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>49
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979210784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisition (Narrative) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 05, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 511,797<span></span>
</td>
<td class="nump">$ 513,383<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>
</tr>
<tr class="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_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>
</tr>
<tr class="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">$ 3,023<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_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_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>50
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628894139776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisition (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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jul. 05, 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_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_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 511,797<span></span>
</td>
<td class="nump">$ 513,383<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>
</tr>
<tr class="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 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="nump">$ 827<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">195<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">6,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Other liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<tr class="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">3,023<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="text">&#160;<span></span>
</td>
<td class="nump">$ 10,417<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_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>51
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979161072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisition (Schedule of Acquired Intangible Assets) (Details) - Privately Held Utah-Based Company<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 05, 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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 6,310<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 );">Trademarks</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 250<span></span>
</td>
</tr>
<tr class="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 );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">3 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 );">Customer relationships</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 6,060<span></span>
</td>
</tr>
<tr class="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 );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">12 years<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_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979011104">
<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)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at December 31, 2023</a></td>
<td class="nump">$ 513,383<span></span>
</td>
</tr>
<tr class="re">
<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 );">Adjustments to prior year acquisitions</a></td>
<td class="num">(1,110)<span></span>
</td>
</tr>
<tr class="ro">
<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">(476)<span></span>
</td>
</tr>
<tr class="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 March 31, 2024</a></td>
<td class="nump">511,797<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_RenewableEnergyandConservationMember', window );">Renewables</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at December 31, 2023</a></td>
<td class="nump">184,230<span></span>
</td>
</tr>
<tr class="re">
<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 );">Adjustments to prior year acquisitions</a></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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></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_Goodwill', window );">Balance at March 31, 2024</a></td>
<td class="nump">184,230<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_ResidentialProductsMember', window );">Residential</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at December 31, 2023</a></td>
<td class="nump">213,576<span></span>
</td>
</tr>
<tr class="re">
<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 );">Adjustments to prior year acquisitions</a></td>
<td class="num">(1,110)<span></span>
</td>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="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 March 31, 2024</a></td>
<td class="nump">212,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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at December 31, 2023</a></td>
<td class="nump">83,899<span></span>
</td>
</tr>
<tr class="re">
<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 );">Adjustments to prior year acquisitions</a></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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(476)<span></span>
</td>
</tr>
<tr class="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 March 31, 2024</a></td>
<td class="nump">83,423<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>
</tr>
<tr class="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>
</tr>
<tr class="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 December 31, 2023</a></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_GoodwillPurchaseAccountingAdjustments', window );">Adjustments to prior year acquisitions</a></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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></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_Goodwill', window );">Balance at March 31, 2024</a></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_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_StatementBusinessSegmentsAxis=rock_RenewableEnergyandConservationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RenewableEnergyandConservationMember</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_ResidentialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResidentialProductsMember</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>53
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628985099072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 );">Goodwill, accumulated impairment losses</a></td>
<td class="nump">$ 133.2<span></span>
</td>
<td class="nump">$ 133.2<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628894115152">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 136,127<span></span>
</td>
<td class="nump">$ 152,931<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">188,427<span></span>
</td>
<td class="nump">205,231<span></span>
</td>
</tr>
<tr class="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">64,170<span></span>
</td>
<td class="nump">79,251<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">64,170<span></span>
</td>
<td class="nump">79,251<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">2,550<span></span>
</td>
<td class="nump">5,773<span></span>
</td>
</tr>
<tr class="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">1,611<span></span>
</td>
<td class="nump">4,714<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</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">31,812<span></span>
</td>
<td class="nump">34,133<span></span>
</td>
</tr>
<tr class="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">22,587<span></span>
</td>
<td class="nump">24,295<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">101,043<span></span>
</td>
<td class="nump">110,649<span></span>
</td>
</tr>
<tr class="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">39,435<span></span>
</td>
<td class="nump">48,088<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">722<span></span>
</td>
<td class="nump">2,376<span></span>
</td>
</tr>
<tr class="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">537<span></span>
</td>
<td class="nump">2,154<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">52,300<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>55
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893568768">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 expense</a></td>
<td class="nump">$ 2,718<span></span>
</td>
<td class="nump">$ 2,766<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>56
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628890555568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Mar. 31, 2024 </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_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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">$ 7,926<span></span>
</td>
</tr>
<tr class="re">
<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 );">2025</a></td>
<td class="nump">10,485<span></span>
</td>
</tr>
<tr class="ro">
<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 );">2026</a></td>
<td class="nump">9,897<span></span>
</td>
</tr>
<tr class="re">
<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 );">2027</a></td>
<td class="nump">7,639<span></span>
</td>
</tr>
<tr class="ro">
<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 );">2028</a></td>
<td class="nump">7,281<span></span>
</td>
</tr>
<tr class="re">
<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 );">2029</a></td>
<td class="nump">$ 7,232<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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 remainder of current fiscal 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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>57
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978834560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term 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>Mar. 31, 2024 </div>
<div>USD ($)</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_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>
</tr>
<tr class="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 );">Long term debt</a></td>
<td class="text">&#160;<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_DeferredFinanceCostsNet', window );">Debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700,000<span></span>
</td>
<td class="nump">1,700,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_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Foreign Currency Rate Floor</a></td>
<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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">0.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_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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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 | Base Rate</a></td>
<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>
</tr>
<tr class="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>
</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 | Secured Overnight Financing Rate (SOFR)</a></td>
<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>
</tr>
<tr class="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>
</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 after April 1, 2023 | Base Rate | 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_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>
</tr>
<tr class="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>
</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 after April 1, 2023 | Base Rate | 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_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>
</tr>
<tr class="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>
</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 | Line 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>
</tr>
<tr class="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>
</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_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>
</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_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Line 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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Letters of credit issued</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>
</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_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Line of Credit | 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_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>
</tr>
<tr class="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="nump">0.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Line of Credit | 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_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>
</tr>
<tr class="ro">
<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="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_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Line of Credit | London Interbank Offered Rate (LIBOR) | 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_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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">LIBOR floor, plus</a></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_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Line of Credit | London Interbank Offered Rate (LIBOR) | 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_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>
</tr>
<tr class="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="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_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember', window );">2019 Senior Credit Agreement | Medium-term Notes</a></td>
<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>
</tr>
<tr class="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>
</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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Letters of credit issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,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_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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Revolving credit facility, availability amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 396,300,000<span></span>
</td>
<td class="nump">$ 396,100,000<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_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_us-gaap_VariableRateAxis=rock_ForeignCurrencyRateFloorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ForeignCurrencyRateFloorMember</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_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_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_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628989536960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Equity-Based Compensation (Incentive Plan) (Details) - Common Stock - shares<br></strong></div></th>
<th class="th"><div>May 03, 2023</div></th>
<th class="th"><div>May 04, 2022</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_PlanNameAxis=rock_Amended2018PlanMember', window );">Amended 2018 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="nump">1,631,707<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628890243952">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted', window );">To be converted to shares (in units)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,572<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount', window );">Target amount granted, as a percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number&#160;of awards (in shares)</a></td>
<td class="nump">58,582<span></span>
</td>
<td class="nump">81,611<span></span>
</td>
</tr>
<tr class="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 );">Weighted average grant&#160;date fair value (in USD per share)</a></td>
<td class="nump">$ 77.70<span></span>
</td>
<td class="nump">$ 53.44<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">7,825<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number&#160;of awards (in shares)</a></td>
<td class="nump">29,671<span></span>
</td>
<td class="nump">46,646<span></span>
</td>
</tr>
<tr class="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">$ 77.70<span></span>
</td>
<td class="nump">$ 53.44<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent', window );">Grants based on targeted thresholds, percent</a></td>
<td class="nump">0.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_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Performance stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent', window );">Grants based on targeted thresholds, percent</a></td>
<td class="nump">200.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_MeasurementInputTypeAxis=rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember', window );">Return on Invested Capital | 2018 Plan | Performance stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod', window );">Performance period</a></td>
<td class="text">1 year<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, To Be Converted</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Units To Be Converted, Percentage Of Target 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount</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_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_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=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_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_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979491680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Equity Based Awards - Settled in Cash) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">$ 23,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 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,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,300,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_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>
</tr>
<tr class="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_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">20,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,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_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>
</tr>
<tr class="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 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,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,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_PlanNameAxis=rock_ManagementStockPurchasePlanMember', window );">Management Stock Purchase 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="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid', window );">MSPP liabilities paid (in thousands)</a></td>
<td class="nump">$ 2,023,000<span></span>
</td>
<td class="nump">$ 2,147,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_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>
</tr>
<tr class="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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod', window );">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>
</tr>
<tr class="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 );">Restricted stock units credited (in shares)</a></td>
<td class="nump">$ 40,538<span></span>
</td>
<td class="nump">$ 41,743<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_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_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_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_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_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>
<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628885582080">
<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 by Segment) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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">$ 407<span></span>
</td>
<td class="nump">$ 675<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_BusinessExitCostsRecoveries', window );">Exit Activity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">675<span></span>
</td>
</tr>
<tr class="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="num">(72)<span></span>
</td>
<td class="num">(63)<span></span>
</td>
</tr>
<tr class="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 );">Total</a></td>
<td class="nump">335<span></span>
</td>
<td class="nump">612<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 | 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_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>
</tr>
<tr class="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">269<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_BusinessExitCostsRecoveries', window );">Exit Activity</a></td>
<td class="text">&#160;<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(63)<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_RestructuringSettlementAndImpairmentProvisionsRecovery', window );">Asset Impairment</a></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_RestructuringCharges', window );">Total</a></td>
<td class="nump">269<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_RestructuringChargesRecoveries', window );">Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(63)<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 | 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_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>
</tr>
<tr class="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="nump">114<span></span>
</td>
</tr>
<tr class="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="num">(72)<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 );">Total</a></td>
<td class="num">(72)<span></span>
</td>
<td class="nump">114<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 | Agtech</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_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>
</tr>
<tr class="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">138<span></span>
</td>
<td class="nump">561<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Total</a></td>
<td class="nump">138<span></span>
</td>
<td class="nump">561<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 | 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_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>
</tr>
<tr class="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="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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</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_RestructuringCharges', window );">Total</a></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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</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_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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">0<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_BusinessExitCostsRecoveries', window );">Exit Activity</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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</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_RestructuringCharges', window );">Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<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_RestructuringChargesRecoveries', window );">Total</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_BusinessExitCostsRecoveries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Exit Costs (Recoveries)</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_BusinessExitCostsRecoveries</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_RestructuringChargesRecoveries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Charges (Recoveries)</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_RestructuringChargesRecoveries</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_RestructuringSettlementAndImpairmentProvisionsRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Settlement and Impairment Provisions (Recovery)</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_RestructuringSettlementAndImpairmentProvisionsRecovery</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_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_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_RenewableEnergyandConservationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RenewableEnergyandConservationMember</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_ResidentialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResidentialProductsMember</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979289552">
<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) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 );">Total</a></td>
<td class="nump">$ 335<span></span>
</td>
<td class="nump">$ 612<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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Total</a></td>
<td class="num">(72)<span></span>
</td>
<td class="nump">513<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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Total</a></td>
<td class="nump">$ 407<span></span>
</td>
<td class="nump">$ 99<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>63
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628978926528">
<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="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [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_RestructuringReserve', window );">Beginning balance</a></td>
<td class="nump">$ 6,725<span></span>
</td>
<td class="nump">$ 2,417<span></span>
</td>
</tr>
<tr class="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">407<span></span>
</td>
<td class="nump">675<span></span>
</td>
</tr>
<tr class="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">(553)<span></span>
</td>
<td class="num">(1,321)<span></span>
</td>
</tr>
<tr class="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 );">Ending balance</a></td>
<td class="nump">$ 6,579<span></span>
</td>
<td class="nump">$ 1,771<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>64
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628888633744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Provision For Income Taxes For Continuing Operations) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 8,561<span></span>
</td>
<td class="nump">$ 7,177<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">25.60%<span></span>
</td>
<td class="nump">25.40%<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_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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<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.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628893408256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_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_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>66
<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.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979119888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income available to common stockholders</a></td>
<td class="nump">$ 24,946<span></span>
</td>
<td class="nump">$ 21,099<span></span>
</td>
</tr>
<tr class="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 );">Diluted (in shares)</a></td>
<td class="nump">30,572,000<span></span>
</td>
<td class="nump">30,897,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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Common stock options and stock units (in shares)</a></td>
<td class="nump">221,000<span></span>
</td>
<td class="nump">127,000<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 outstanding, diluted (in shares)</a></td>
<td class="nump">30,793,000<span></span>
</td>
<td class="nump">31,024,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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_CommonStockMember', window );">Common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from earnings per share calculation (in shares)</a></td>
<td class="nump">4,000<span></span>
</td>
<td class="nump">64,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_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_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>
<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>67
<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.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979563104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</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_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_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_Revenues', window );">Net sales</a></td>
<td class="nump">$ 292,506<span></span>
</td>
<td class="nump">$ 293,267<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total consolidated income from operations</a></td>
<td class="nump">31,736<span></span>
</td>
<td class="nump">29,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,319,857<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,256,451<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">51,496<span></span>
</td>
<td class="nump">59,205<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_ResidentialProductsMember', 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="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">185,111<span></span>
</td>
<td class="nump">179,495<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_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">34,027<span></span>
</td>
<td class="nump">35,852<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_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="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">21,872<span></span>
</td>
<td class="nump">18,715<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segments | 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">51,496<span></span>
</td>
<td class="nump">59,205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total consolidated income from operations</a></td>
<td class="nump">1,644<span></span>
</td>
<td class="nump">2,269<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">374,137<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">377,694<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 | 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_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">185,111<span></span>
</td>
<td class="nump">179,495<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total consolidated income from operations</a></td>
<td class="nump">34,346<span></span>
</td>
<td class="nump">29,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">535,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">515,739<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 | 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">34,027<span></span>
</td>
<td class="nump">35,852<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total consolidated income from operations</a></td>
<td class="nump">2,608<span></span>
</td>
<td class="nump">2,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">165,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168,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_OperatingSegmentsMember', window );">Operating Segments | 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_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">21,872<span></span>
</td>
<td class="nump">18,715<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total consolidated income from operations</a></td>
<td class="nump">4,896<span></span>
</td>
<td class="nump">2,714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">82,176<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,518<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="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 );">Total consolidated income from operations</a></td>
<td class="num">(11,758)<span></span>
</td>
<td class="num">$ (7,452)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 162,979<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 117,287<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_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_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_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_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_ResidentialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResidentialProductsMember</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<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.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139628979750752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information - Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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">$ 292,506<span></span>
</td>
<td class="nump">$ 293,267<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="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>
</tr>
<tr class="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">51,496<span></span>
</td>
<td class="nump">59,205<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_ResidentialProductsMember', 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_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>
</tr>
<tr class="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">185,111<span></span>
</td>
<td class="nump">179,495<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="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>
</tr>
<tr class="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">34,027<span></span>
</td>
<td class="nump">35,852<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_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>
</tr>
<tr class="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">21,872<span></span>
</td>
<td class="nump">18,715<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>
</tr>
<tr class="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>
</tr>
<tr class="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">198,770<span></span>
</td>
<td class="nump">198,204<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>
</tr>
<tr class="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>
</tr>
<tr class="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,789<span></span>
</td>
<td class="nump">9,094<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>
</tr>
<tr class="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>
</tr>
<tr class="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">183,332<span></span>
</td>
<td class="nump">177,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_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>
</tr>
<tr class="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>
</tr>
<tr class="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">2,339<span></span>
</td>
<td class="nump">5,107<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>
</tr>
<tr class="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>
</tr>
<tr class="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">6,310<span></span>
</td>
<td class="nump">6,061<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>
</tr>
<tr class="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>
</tr>
<tr class="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">93,736<span></span>
</td>
<td class="nump">95,063<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>
</tr>
<tr class="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>
</tr>
<tr class="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">44,707<span></span>
</td>
<td class="nump">50,111<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>
</tr>
<tr class="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>
</tr>
<tr class="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,779<span></span>
</td>
<td class="nump">1,553<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>
</tr>
<tr class="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>
</tr>
<tr class="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,688<span></span>
</td>
<td class="nump">30,745<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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 15,562<span></span>
</td>
<td class="nump">$ 12,654<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_ResidentialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ResidentialProductsMember</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>EXCEL
<SEQUENCE>69
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( * ^H5@'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    " "@/J%8)<I3WN\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>*$[_'$SJ2T=/'0Q6V-C-V&IK%L?&UDCZ]DN\-F5L#["CI9\_
M?0(U.@CM(SY''S"2Q?0PN+9+0H<-.Q,% 9#T&9U*Y9CHQN;11Z=H?,83!*4_
MU FAKJHU."1E%"F8@$68B4PV1@L=49&/5[S1,SY\QC;#C 9LT6%'"7C)@<EI
M8K@,;0-WP 0CC"Y]%]#,Q%S]$YL[P*[)(=DYU?=]V2]R;MR!P]O3_B6O6]@N
MD>HTCK^2%70)N&&WR:^+[>-AQV1=U<NB6A45/W N5K58KM\GUQ]^=V'GC3W:
M?VQ\$Y0-_+H+^0502P,$%     @ H#ZA6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MZD<*[S@42?)DWN1ME+,''41>,H0<F_FIG\03E'Y/Z5LI[SD[%/I="##;M;3
M^N-='\6C!1U;)3B96M!>P+!5)W0GMSSL8-RDPRP<;AB3&?:RB6V->Y7!H55>
M%1PEO(:^!%T3RE*_I%P;2:V"]5)M?:UHYWGW&H;M(G9+1+%2C0+EK"P)/TG^
MPIA\$RXY67_O*AWV7J-5/*%HN)<T;->TNZ+<J_?+%^#&)ESLG?Z-RM_D,PG?
MBQY.K!7V34\"0$\.H!L;^OP:##.1D"" 4'GF<K.*Z8O+[96BG2]"+Y_8KI]]
MN379FQ^:03N]*!D5F<DLG6S\O7IBNWR>5IF-<BR*@9=DP9#28(;U1'%&Z9Z,
M7A7E&SV1"K1B^UHV,TMWM9MZ;_2L-[A^JZ9A/=+U89I1&B:235$+5-(UA/2N
M$F#BS73:G$BVTP/>(Y,P+NK#+4STE"L#^'[-F'P^43?H?B-8_ =02P,$%
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
M$&TGC/>/U!^M1IO1Q$:(]#PFK_!XL\G,L1@D:+.5.P6Y*=MGD+"M0L?$I32
M:G*HU69'0C)1,Y$>S<2-YL]<,W@$;&:R- "TJAQ#-PJI/RKM;'8TAFI_0F5/
M9^*F,Q0055'E]=%8NQT6!2S/G3G%?(#T+)1=^!C I[#A'.[=;&8$XXFZA_2<
M)FY.KZ%\,&4$G<-VIYGA\RB*C?AZL33S?,=SPT:D):"FDL]OF^%C6I]BH'4R
MI*7=T*?AU$SON4[<7&^J$#69RZVRQ^Q.? _'PS+/9H?]))DH1F@/>>J&?"/Z
M (]U+]<CT0;QLT-^V_C1L9QUDV,SM&YR%@<'QN:T_B.3]UFIH.S8@J=W%D$7
MR.8 O+G18E^?(=\)K4517^XX ^'& -YOA= O-^98NOLWQ.I?4$L#!!0    (
M * ^H5@\0WS1/0,  !(+   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL
MK99=CYLZ$(;_BD6K:E?:+A])(-DF2+M95>=<5(J:MN?BJ!<.3(*UQJ:V2=KS
MZ\\8LC0D;#[:YB)@F'G]O&8,,]Y(]:0S $.^YUSHB9,94]RYKDXRR*F^E04(
MO+.4*J<&AVKEZD(!3:NDG+N!YX5N3IEPXG%U;:;BL2P-9P)FBN@RSZGZ\0!<
M;B:.[SQ?^,A6F;$7W'A<T!7,P7PN9@I';J.2LAR$9E(0!<N)<^_?3?TJH8KX
MPF"C=\Z)M;*0\LD._DXGCF>)@$-BK 3%PQJFP+E50HYO6U&GF=,F[IX_J[^O
MS*.9!=4PE?P?EIILX@P=DL*2EMQ\E)N_8&MH8/42R77U3S9U;#AR2%)J(_-M
M,A+D3-1'^GV[$#L)?O^%A&";$)R;T-LF]"JC-5EEZY$:&H^5W!!EHU'-GE1K
M4V6C&R;L8YP;A7<9YIEX*H66G*740$H>**<B 3*W<II<S:@"83(P+*'\FKPE
MG^>/Y.KU-7E-F""?,EEJ*E(]=@V26#TWV<[Z4,\:O##K!ZIN2<^_(8$7]#O2
MI\?3'R%ITGOM=!?]-XL0-(L05'J]%_3F!NUC;1HBE^0]$[@(C'(RDYI5M?;O
M_4(;A17WM<MJK=WOUK;;\$X7-(&)@_M,@UJ#$[]YY8?>NR[C?TBLM0R]9AEZ
MQ]3C^R21I< 'KR !MJ8+#C>$<MSIMBJZK-=Z8:5G7QCK>#"(AF-WO6NI,RAH
M@EJH_0:U?Q1UAIL=E,*:Q1V2/-V0@BJRIKP$<H6EF4K.J=*D 'QC95C%UUWT
M]131#IAWZ_E[]">"6O2#AGYP&7W%J DM3285^P]O6!?UU4[T6G^P0^5[]6\/
M_XS EH6PL1#^D@7\4FB#+P4F5J<\A =H^_#'(EK444,=':6>RCS'_?P;-1.=
M4S,G@EKHPP9]> 'ZQ04S?+$.]A?]G,B6@U'C8'2Y Z9U>9I^=,#4ZP=A> A_
M1F"+W?=^?B>]R^DOJ/:M_!Z:/SKT<$YDV\3.Q]X_:N(3=GJZ5#_V;)Q"]P^!
MHE'40=X5& T/P=V=AL5VB]@/K)C0A,,2,[W;""54W8#5 R.+JH=92(,=476:
M8=,*R@;@_:64YGE@VZ*F#8[_!U!+ P04    " "@/J%8ZNI(^4\&  ".&0
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
M)<_UY8[1A DE -]O.)>G&_6"YB>8Y?]02P,$%     @ H#ZA6(O-@3XY!P
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
MT1!P\"'HF,:1:^[C%?G!3^BXB83*Y\\0KG$CM>;T'BC\ I?Q8'A)_W&<7@R
MRGLK>4JX-Z(04P8\)]DBWP3)R_02/DPF']G>:_!!/^Z/)P%],!["J3).CAIN
MA783Q@H'K-&^[;W=:3>Y%FW#?A%OQQ[U.O+/@<*"5/N]3Q<1V':4M!MOZM"^
MU\;3, C+DJ8O6A:@^\(8?]BP@6Z>S_\%4$L#!!0    ( * ^H5@H3WOOV 0
M *<+   8    >&PO=V]R:W-H965T<R]S:&5E=#DN>&ULI5;O;]LV$/U7" W8
M6B"U'2?MAC0QX*3M%@QMLCC9!@S[0$LGBRU%JB05)_OK]XZ4%#MU@_WX8HO2
MW;N[QW=''J^M^^0KHB#N:FW\25:%T!R-QSZOJ)9^9!LR^%):5\N I5N-?>-(
M%M&IUN/I9/)J7$MELMEQ?'?I9L>V#5H9NG3"MW4MW?TI:;L^R?:S_L656E6!
M7XQGQXU<T8+"37/IL!H/*(6JR7AEC7!4GF3S_:/30[:/!K\J6ON-9\&5+*W]
MQ(OSXB2;<$*D*0^,(/%W2V>D-0,AC<\=9C:$9,?-YQ[]7:P=M2REIS.K?U-%
MJ$ZR'S)14"E;':[L^B?JZGG)>+G5/OZ*=6<[R43>^F#KSAD9U,JD?WG7\?!/
M'*:=PS3FG0+%+-_((&?'SJZ%8VN@\4,L-7HC.65X4Q;!X:N"7YB=2J^\N"C%
MI2-/)DCFZG@< ,T&X[R#.4TPTZ_ '(CWUH3*B[>FH&+;?XR4AKRF?5ZGTR<!
MWTLW$@?[>V(ZF1X^@7<PU'D0\0Z^@G?A5M*HOV)Y>^+,&F^U*F12ABFVRA>V
M%.^4D2974HL%7A)D&+SX8[[TP4%(?^YB*"5PN#L!;JXCW\B<3K*&8[E;RF;?
M?K/_:O+ZB?(.A_(.GT*?G<X7YPMQ\4Y<7KU=O/UP/;\^O_BP*\G_ ".N*T+W
MY+9NI+E79B5:(]M"!2I$/A")13EPYA\X Y<_JJ63.D@GSDT!23M%?@_/^4@\
M"\#.SA)T]EQ4\I;$DL@(D-1(!]3E/?1N," 83R@34W$%(A%Z)53B9K08B149
M0A!]SY^IX738KC6!$VZ<0F*-)B\PQP 2R*EZ(V%ETGSKY1"!.3=ED&\;)X@7
MP0H>!6)_\N*7:#9W0>6:\(+KO*)5JQ/&XL7O(U08(6RC3*>JAT+V!)(5LO@(
M/A)1SYA+Y6.^,#6<C\;<RUOG^-V&[?/(NRJ(^3&4D_<8J+$T#EA*Y43S2-!8
M8E#YP:CGH,&O+3:(!U.Z11./XKYW6_,=-A*6,O& ?1&>I+=&ZM<=(J8(,V*!
M[1",/_H-@C?# ^]Q>$8T-@S%*,TFA<HE#VW.GW/N0>BNP5!GQ75HOEUZ^MPF
M@6P!PV"@I07C]\2#Y7\IVE>VU= EYR,+5B1\/K8F'3.#<G;Z,D6H$SIDG@B"
MZNEFG+!%N#2FC<PUU@4!Z%Y[/P\E<36">.2*-V"N7H+[;F@>I"JWREE*'=LF
M'?<R?.D$'?@D X@+S(,"9^L8JR=H=UT!-OCA.'MBV>+)HDC>TJ[ J/=N'Q]W
M6VEM2*PX[*+JNO[?]S5OJ*:PF_L1^C-GA<P?_"^=-7C.NRHV!"_H5NHVLL:)
MNR]<<2R80KI"W#1<- 9:*I2_A<IZ2H2PL+F#X8T:J"PI7D-XMUF[)<0:C[B]
M2$2!Y!U.>42-WI'WPC9]$V,-X&8[ZW64(U,=FUABRG +H/@4CJ6S+<C&>I4.
MPKZC@+W1WTRE])4H<67S_:9UQ$19H:B'@6'L0\2\DF;%N]&KIB-N:\^VLL><
MNE6V]6"G4#[78&Y'+\Q3+UP]T0LEO*5^NB5VG;3CC<M336X5KXA>Q'S3/6IX
M.]Q"Y^GR]6">KK"XM*QP8 A-)5PGH^]?9L*E:V%:!-O$J]C2!ESLXF.%&4*.
M#?"=&Z%?<(#A;C[[&U!+ P04    " "@/J%8\W6DSKP#   Y"   &0   'AL
M+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q]5FUSXC80_BL[;J:]S+BQL4T@*3 #
M')U>YR[-$.[ZH=,/LKU@]6S)E63(]==W)8-#<L 7K)?=9_?9%RVCG51?=8%H
MX+DJA1Y[A3'U?1#HK,"*Z1M9HZ";M505,[15FT#7"EGNE*HRB,+P-J@8%]YD
MY,X>U60D&U-R@8\*=%-53'V;82EW8Z_G'0Z6?%,8>Q!,1C7;X!.:S_6CHEW0
MH>2\0J&Y%*!P/?:FO?M98N6=P!>..WVT!LLDE?*KW7S(QUYH'<(2,V,1&'VV
M.,>RM$#DQK][3*\S:16/UP?T7QUWXI(RC7-9_LES4XR]H0<YKEE3FJ7<_89[
M/GV+E\E2NU_8M;)1WX.LT496>V7RH.*B_;+G?1R.%(;A&85HKQ YOUM#SLOW
MS+#)2,D=*"M-:';AJ#IM<HX+FY0GH^B6DYZ93+-,-L)H6&*&?,O2$GUX0#,*
M#*%;F2#;(\U:I.@,4@R?I#"%AH7(,7^M'Y!7G6O1P;59=!'P$U,W$/=\B,(H
MN8 7=U1CAQ>?P7MAJ.&O::J-HI+X^Q31%B<YC6/;Y%[7+,.Q1WV@46W1F_SX
M0^\V_.6"ETGG97()?3*=S__X_+!Z@N5BOOCP93K[N*"$+%:G_+R(=-K/<_#0
M%8+JP@29I.;3!G.0:S %PEJ6U,5<;. =%W0B&\U$KJ_O@9*5%5VVX#V!5"FJ
MPTD,*\5RI";\WLH5].X2/TYBNQH,_7 X@+G4)$0V\#E#K:W]E)?$<*,AB?PH
MO(5^Y(=Q'U;2L/(D;A3?^OWDCKZAWXLB^&B!F"7 1&:Y*,AEDYIU<Z1/="QM
M5QO M$8Z>]?W^X/A=?N-KD^%R@=!#^B5LW4WZ-E5E/C]?DA]M:8P& D/TB#$
MX"UQBZ)!SYK)4 D;31O;N:QJ)K[]I.GB+/D;6+U*@W%,:R6W/*>R9J#HZF>B
MMF.JR]IKSIG"G!LH)9'3OCNR0J90B%#9%H8:%9<YH&WD-YGU29 9X)J>OKS)
M;&VLE:Q:.Y54AO^'N6-@'TONG#^5' J(*TIAG*J-'JF3%)&NT>&22&IKL"S;
M_=N2F^&&"Q>^E)6.'G/F?F>BH?D"AUJ\ I<WF+&<G$Y;"T+O<T8*Y);<$F4*
M8!2^9'>GN#$H2((H;&B^$:>74-I"D>2Z I;_0^\T#2I;*KWDVCZ WWOUID%:
MIX9PZL4(CI[S"M7&#2U;%N16^[)WI]U<G+;CX$6\':IDE8*DH<0UJ88W QI#
MJAU4[<;(V@V'5!H:-6Y9T&Q'907H?BVI;/<;:Z#[MS#Y'U!+ P04    " "@
M/J%8_Y-<L(@$  !Y"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6R=
M5DUOXS80_2N$NF@OAC^SFS2Q#239%-W#+H($V1Z*'FAJ++&A2)6DXKB_OF\H
M67$V7A?MQ1:IF3=OW@Q'G&^<?PPE413/E;%AD94QUN>C45 E53(,74T6;];.
M5S)BZ8M1J#W)/#E59C0=CS^,*JEMMIRGO5N_G+LF&FWIUHO05)7TVRLR;K/(
M)MENXTX79>2-T7)>RX+N*3[4MQZK48^2ZXILT,X*3^M%=CDYOSIA^V3P5=,F
M[#T+SF3EW",O/N6+;,R$R)"*C"#Q]T379 P#@<9?'6;6AV3'_><=^B\I=^2R
MDH&NG?E-Y[%<9&>9R&DM&Q/OW.97ZO)YSWC*F9!^Q::U/3G-A&I"=%7G# :5
MMNV_?.YTV',X&W_'8=HY3!/O-E!B^5%&N9Q[MQ&>K8'&#RG5Y URVG)1[J/'
M6PV_N+RC)[(-S4<18+PU4IWC5>LX_8[C3'QV-I9!W-B<\M?^(Y#HF4QW3*ZF
M1P$_2S\4L\E 3,?3DR-XLSZS6<*;'<],K+VKQ#6X>G0 U(VEN$ZZDA>_7ZY"
MVO_CD  M_LEA?#XMYZ&6BA89CD,@_T39\L<?)A_&%T?8G_3L3XZA'ZO+OSC>
M?+WY\G C[J6A(+15ILGQX/?54)T:H95#=7($@4..E@ZZL-H6 T&V #KYM*BD
M;=9P:G@II,T!'J(T1J;CY=8B.".] / C6X1MB%2%"Y%.H-=*&IP?(ZVB9+Q[
M[1U6#+=VC<U;,'"-N@.NO<L;<+T0BIBVT7]3#C;:[#"2=QO%6:T$BO*(@<)\
M&H;@(!A/(M>A1I:O0<&L0U@;&4HP;U<NEF@0J12%X+PF!J&DFEP9$G+#$F&S
M:&*$8=%(GV/Y_]4K/)$M71,X%+JR86/6C*1O0]%S+=MI^*?3ELG7\HDP(:,(
MQ,I&%ENVQ80.*+,"9[I(\59>YQ!%)?K(/W9SL1-Q*.YHC42B$U_P3DQF(KNG
M(J%_LNWTAWF6>D3FN>85Z.F7=Q (Z: XP-CUFR?EH >7;+4545></K*%DC9P
M/#RG=L3D@X&GVOE6X= &'XK+P$88#ZKLY\- H#PXU144V?[$[<T?(,9&A1.A
MU&8KHXM$#37UR%KZV =,_1]+&44)%2&10)E1,>0$H2$.*.>HP*X^SI+8HA8P
M$SA:$*P?*C($ AA@@PY=A!#Y] &*&XBW5MJ8U%UI6EB&Y].G^<NDT/J1LU"D
MGU+VV'Z=(8,[H_,D\.X<I;F_S\1HB3BH#;VBT\=^Q8A)#H1"QP2]UH"5<&J\
MYY+O 0U2^S06N5L8=94=',S#-UBR?#:PXW_+XN&;$,SG3>43F8\0JEJA>[K=
MF=C ]MWI\!3?2*3*GWN8O9L-?]YM#( :N*RX!)@M=_N;!LW;P\F,8XG3**KV
M"T?\A3M$(T5.+<3AD:PZ5 >\9L@5H;GLKOU+VN/#3:M='MHLIF_2F)R]['R3
MQZ%/S6CO.H!)4*1+#VN/)FMO!OUN?Z^Z;*\3+^;MI0Q)@W5 PZ_A.AZ>OL^$
M;R\Z[2*Z.ETN5BYB[*3'$G=#\FSPGJ<%ADFWX #];7/Y#U!+ P04    " "@
M/J%8[%R;FK\"  #-!0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6R%
M5&UOVC 0_BNGK)I:*6U>@< @4NG+AK1V%>W:#],^F.0@5A.;V::T_W[G!#(V
M4?8E\9WO'C_G\W/#M53/ND T\%J50H^<PICEP/-T5F#%])E<HJ"=N505,V2J
MA:>7"EE>)U6E%_I^UZL8%TXZK'UW*AW*E2FYP#L%>E553+V-L93KD1,X6\>4
M+PIC'5XZ7+(%WJ/YOKQ39'DM2LXK%)I+ 0KG(^<\&(QC&U\'/')<ZYTUV$IF
M4CY;8Y*/'-\2PA(S8Q$8_5[P LO2 A&-7QM,ISW2)NZNM^C7=>U4RXQIO)#E
M$\]-,7(2!W*<LU5IIG+]!3?U="Q>)DM=?V'=Q$:A ]E*&UEMDHE!Q47S9Z^;
M>]A)2/QW$L)-0ECS;@ZJ65XRP]*ADFM0-IK0[*(NM<XF<ES8IMP;1;N<\DPZ
M$2\HC%0<M0NW:(:>(52[YV4;A'&#$+Z#$,&-%*;0<"5RS/_.]XA-2RG<4AJ'
M!P%OF#J#*' A],/X %[4EAC5>-%_2GR#2ZZS4NJ50OAQ/M-&T9OXN:_B!C#>
M#VAU,M!+EN'((2%H5"_HI!\_!%W_TP&Z<4LW/H2>3FX?KVX?ODTG5_?4D:N'
M??P.(NSG]R\L['0>,DDJTP9SD',P!<)<EB17+A9PS 5YY$HSD>N3 5!WLJ)M
M#UQBAM4,U=83P92MZ8$:5)R5< 1)['8H[@AZ/3=.^O!$(CWEXG2I9(9:0Q"Z
ML>]#W^WX"5QSP>DMY["0,M<0]]PD"" .W7X<PF<E*9ZWW0SBV.U%'4+HN_VH
M#U\MW*9>#<==-^GT3N"X[\91]P0>I"$^?/>Y"YIY1Q!$=$HOL:O0)Q81[&NB
MMR.Q"M6B'B3VXE;"-&IKO>VL.F\D^B>\&71T@PLN-)0XIU3_K-=Q0#7#HS&,
M7-:"G4E#\J^7!<U;5#: ]N=2FJUA#V@G>/H;4$L#!!0    ( * ^H5@J3O.J
M#@8  ',.   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;)57[U,;-Q#]
M5S0NTR8S#OX)I!0\8VC3TFD:FI#D0Z<?Y+OUG8I.ND@Z&^>O[UOI?!@"-/D"
M=[)V]^W;MWO2R=JZ:U\2!7%3:>-/>V4(]?%@X+.2*NGW;4T&ORRMJV3 JRL&
MOG8D\VA4Z<%X.#P<5%*9WNPDKEVZV8EM@E:&+IWP355)MSDC;=>GO5%ON_!6
M%67@A<'LI)8%O:/POKYT>!MT7G)5D?'*&N%H>=J;CX[/IKP_;OB@:.UWG@5G
MLK#VFE\N\M/>D &1IBRP!XE_*SHGK=D18'QJ??:ZD&RX^[SU_BKFCEP6TM.Y
MU1]5'LK3WLN>R&DI&QW>VO5OU.9SP/XRJWW\*]9I[\&T)[+&!UNUQD!0*9/^
MRYN6AQV#E\-'#,:MP3CB3H$BRI]ED+,39]?"\6YXXX>8:K0&.&6X*.^"PZ\*
M=F$VSSXURBMFZ&00X)"7!UEK?):,QX\83\1K:T+IQ2\FI_RN_0! .C3C+9JS
M\9,.7TNW+R:COA@/Q],G_$VZ[";1W^01?V>-QXKWXMQ6"V5D$H+)Q=Q["'XG
M>?'W?.&#@TC^>8B'%&;Z<!ANG&-?RXQ.>^@,3VY%O=GWWXT.AS\]D<2T2V+Z
ME/?9_/RO]Q?O+JXNWOSY$+2O-A9OC/B]T1MQ$/F=]$4HB9FII=F@/<"%HSPN
M2J;'"[L44M1.K60@V)6D<_$^R/(%]T$NLM8TE#) DZ99@KX&!$2*<P4^U:()
M>'<6KI9:^E*9(OXJLPQUL6X#_S9OLN#[<1W]JCUL';I6!!LMV69=6DU>:G)^
M7UP!(L*@\2+&4"K?@2GEBL2"R AE,MU EWC8S?0'WFN\U2I'6KF >VDR)77G
M$IK)*)KPCLC"CE#6"O'N>WQ+7N5D KOQ5&!JA02S;EQ6@JT8$UM<TB"F:8)]
MQ[/T8F\TW)^BT;7&2A]IJZS<9H+=<<8Q'YFL54 PF?^+(<'Q(GT9N8!)+"S@
MN9T?/=.\4LP&AV[QQS+?0I2%(WH .A0 /A)D^@*QU-IFD4F4:T<\G: 8EU9R
MH32,. F/+P#6DXB:VD8PRC'_-<4I+982[RNI&^PG'U05 \BVW \6)H$^[V20
M)*$IM)H& 2PY1HE:+)6KXC+=0*>$@O=Y.8^NDA2WYG& M'&_-C<$ 6RYT,J7
M.\FP&]^@HEL_]\U--,T1U6'8)Q'*RC8H+TP+:_,UI,%[%MP"F2V,^OQUS-!-
M3/^N#KF [,;ER4D7(?9H#<YN6N[W)OO#6UVBZ!RDE2<:EKB'U4*W.I$W+)_:
M>D*[_KIUZBB.1Y;CLN%)(1#:V$IE2,?04C$E#J@A\*6SU5;&]TB/\R:S#::1
ML8&94"@<U-T UD:D1ERJV/G<.'%^H&^ ##J6>2HR!DZ!21Q*8>O:NM"86(-4
M>QCBB,/Z3(@SVO9,;BL6)! W2D?7VP&&$>BN 331W;8%D]Q6YI%1T';-K<KO
MRN5;5,?S!-1:A%[[!S1QOWV?Q9QLX^'0/S\6'^\-ESWQ<GPD+AV.@"YL^J+6
MLITS!"=UG#JC'P_2=]1%OH,T191!B_FP/QD-Q9O=.HXFTW9A-X=G1^/GMTJ9
M]/&!$J_N,/$(?WMB-.Q/1T>1]2\!R%ML7T[<Z,DSZ2T[B3OFX#XW$<N'B.5C
M/.I1_F*^ HB"Q+R"?M3GA.>2G+*YN'(R)U8$9KH8'PS%1&Q(.AQ%XJ&.>-SI
M:(&/8LU$#0^'8C1N=UW95(#$WX7I9@)C"T_K*\WK;YO&=P\#C:<XV(5<2:4E
MTZE,N@&TDJWD]>Z4[N"EC$03>_@/6A%J*1IC%WPJ:AW5#0"!WC0]@"-@&5/#
MV+:%6+ R3>:V'UDN! "8TF0*<,X.<L+5A)L]8DC0^ N"CS!;,DQDA\=M[SZ&
M]TYO,$G:FN*%QH<H;_EK>WI'.EO2__=TQ",VG3'B-$&3.Z7YT.1L4Y1B89V+
MB@-I2,;=.U@X6EF]BDT)8"H@AXQ+M]E_Z&0YV+D(0&)%O.[PS,<')-T)NM7N
M1C5/%XG;[>DZAJ-XH5!)34N8#O>/#GK"I2M.>@FVCM>*A0W0<WPL<2LDQQOP
M^]+:L'WA -T]<_8?4$L#!!0    ( * ^H5AVK%;Y7 4  'D,   9    >&PO
M=V]R:W-H965T<R]S:&5E=#$T+GAM;(U7V6[;.!3]E0NW*%I C;5:<IH8<)9F
M J1ID*33A\$\,!(M<RJ1+DG'<;]^#BG;V9P@+Q+7>\_=CJ[V%DK_,E/.+=VU
MC33[O:FUL]U^WY13WC*SHV9<8F>B=,LLIKKNFYGFK/*7VJ8?A^&@WS(A>Z,]
MOW:A1WMJ;ALA^84F,V];II<'O%&+_5[46R]<BGIJW4)_M#=C-;_B]L?L0F/6
MWTBI1,NE$4J2YI/]WCC:/4C=>7_@;\$7YL&8G"4W2OURD]-JOQ<Z0+SAI742
M&%ZW_) WC1,$&+]7,GL;E>[BP_%:^E=O.VRY888?JN:GJ.QTOU?TJ.(3-F_L
MI5K\Q5?V9$Y>J1KCG[3HSF9)C\JYL:I=70:"5LCNS>Y6?GAPH0A?N!"O+L0>
M=Z?(HSQBEHWVM%J0=J<AS0V\J?XVP GI@G)E-78%[MG1B5+50C0-,5G1)6^8
MY16=2LMD+6X:3F-CN#5[?0M=[D:_7,D]Z.3&+\A-Z)N2=FKH6%:\>GR_#XP;
MH/$:Z$'\JL!O3.]0$@44AW'ZBKQD8WCBY25O,?R9P70D3-DH,]><_AG?&*N1
M/O]N<T.G)=VNQ974KIFQDN_W4#.&ZUO>&WUX%PW"+Z_8D&YL2%^3/CKY_OWH
MY^G9&8W/C^CR^&Q\?7Q$I^?7X_.3TX.S8QI?71U?7VU#_:K<[:C?IHPV?KV>
M<BJG<"LW)"19-V5:+X6LB;5J+BVI"=7KX^ 7?\9.->?4=LG#7?(00E].-[$G
MAI@P@PL-&,701R]<S0T":3[M(HDE7S"$TF!H1,6E%:RA<6TYI)S*B68(Y[RT
M+K;7RF+O@#5,EI!JZ8B7O+WA>JTNH?<4%6D0)R%&<90$63[ J$B"8CC$ .<&
M>8%!AKVD2&A<_8>R!6\ABZRBF1:P;,F9!@/]G@LC'!L9^O"NB*/X"WV,@B@*
M/VWF3]?!/6 6"2[0FLMR24A%:5"GCM.>74KSP:<GLP?&/7'D8\OB(!VL+$N]
MV0\LBX)\F-^'5ACP<:EJ*?X@/)+[2+*RG+?SCD!$.V-".Q\0BL@@%#CP/DJ2
MG1@DUC2>C_WBT]BB&)^%(( V,^.>OYOECL^L0P45<ME!@5LUM,+;FM> H)LE
MQ$.MH<64(ZO@>_A-U#77+OWXK4,V=0A*[]<*YP1P+-2\J=8"D;46Y]N'UEAN
M+"0\QE!QG ,W.PA3N%FJ;<JJ>V5;3=^&@,F70#AC;SC-N'8?9E[MT+A<N>$Y
MF6VVQ/T6Z[9*Y*(P+F9 Y.JO*RL'_&EA/<'[O%).-&(-9?=Y\'SE%!4]$5)8
M_KE!.+= VJ5KS2JT'FA+7/+%01*Z#%UG]9:EKV\7& =9%A(R.XHH"_(\H33(
MHY1^R!GP20?1\814C:J7SK0BBBG&K2*G) V0PA2C9H89'?J/,^S7O*M&,Q4S
M0U$8!6&:4#(,TB0CU' P2(>4%D%8%'2NY.<2:8.,(5:#Z3J>R..8LB0'N@3L
M$@=1EE*4#((HSFD K3D@P^IA$E$^#.(L6A$7>SFPKK@+5'*.T4H$JCS,4.\1
M1FLQCR)N'6VN^C.4MO$)\:(.Q^+:BC\=%?$[](F&OXW'GZ:63RB?0^-M,@$<
M02JZ-TAJZR&]:EY0&*^X90U/<]>Q5@@?\GZ"CSV\N6$@=T#R.XN-6^ZYV[L"
M3>\$Q>@XQ]% Z]6]\B5:6Y6YQ\ ]<O<HW&/XDJ5Y,(P=#2-OTB+#8(@/3>XW
M!LG0O^,BZMY)3-NZB/Z#=A )6ONFUY4ZOKE=9[A9W?35XZZ=O#_>->4(62WP
MM6KX!%?#G3SKD>X:W6YBU<PWES?*HAK\<(I_ Z[= >Q/E++KB5.P^=L8_0]0
M2P,$%     @ H#ZA6/;O,?H$!@  < \  !D   !X;"]W;W)K<VAE971S+W-H
M965T,34N>&ULK5?;<MLV$/T5#.-D[!E%5SMV$ULSOJ7-3)QD;*=]Z/0!)%<B
M&A!@ %",^O4] "^29<GC9OHBD>!>SNZ>70"GE3;?;$;DV(]<*GL69<X5;P<#
MFV24<]O7!2E\F6F3<X=7,Q_8PA!/@U(N!^/A\,T@YT)%T].P]L5,3W7II%#T
MQ3!;YCDWRPN2NCJ+1E&[<"OFF?,+@^EIP>=T1^YK\<7@;=!9245.R@JMF*'9
M670^>GMQZ.6#P.^"*KOVS'PDL=;?_,N']"P:>D D*7'> L??@BY)2F\(,+XW
M-J/.I5=<?VZMOP^Q(Y:86[K4\@^1NNPL.HE82C->2G>KJ]^HB>?(VTNTM.&7
M5;7L^#AB26F=SAME(,B%JO_YCR8/:PHGPQT*XT9A''#7C@+**^[X]-3HBADO
M#6O^(80:M %.*%^4.V?P54#/33]J-7]]3R9G5Q2[TX&#3?]ED#3Z%[7^>(?^
MA-UHY3++KE5*Z4/] ;!T@,8MH(OQDP9ON.FSR:C'QL/QX1/V)EV DV!OLL.>
M#XM="9M(;4M#[,_SV#H#,ORU+=C:UN%V6[Y!WMJ")W06H0,LF05%TU<O1F^&
M[YY >M@A/7S*^O3CYT^_OKZ_OKUA5]<7]]O0_1=]=I\1N]1YP=6293QE2C,T
MI75<I4+-P5SDA5NF9PPI3[(NYPP"($-">4RF79WTT(&VH-!#<MEG7Q7/M7'B
M'TIK4\+:DJN$6**MLSTF5")+4 (/3+L,IKBUY.!0,;Q"3%DM1<H=9&(N@V[@
M,92?CXM5A*+NC?K'Z XI0Z-#;GUA$_HM+;1<^!Q<&DJ%8^]Y(J1P2_99K1R<
M!/OC7@#;YI&4@SL?D].,M_KG<T.$0>78OA>.-I>C U9E J$41B]$2I9AF$+=
M=$"26F/6 O$A2')P%A+1?!8^-L;GL#M'VA@J4,(I?2^Y9 "T=S@<MD'W']0_
MX7Z"?B_)HN8I;$$".C.AD'8/ -HH&*:ZI1#P;FC>S_'*#T,D(2MM3IR?)5+#
M(8"719"?K,G;,OX;M?#KH$ -Q3(PPR?%93[(D/&-'#;Q;"8<)AQV'LM<I=MP
M$%BB%X1G;%?L? N5'A:U MO@-<&K%(&&E0 0+N5VBUN!^+ A["@0?(-%QWUV
MH0W& 1)J68E):;8&R6+B(9$@F75H [<.]-6+D_'H^!T<%"[0&I]!(L^$C@)>
MG!>((^&Q)&P49H[0"EE:ML\/(.YWL*#38_NQ7TBYD$MF!8)'_U%2>GXC6*/\
M?K9&D>!H/[K[_/X6A&Y,) =MR?UZ+0-&[*<'@>,)&5\>_XSM$3DNC2&8(]_C
MFZO+QBCDB:-:B8>Z1A?.AB_93&IM? V,+N?9P[I.>MNSZJ<?^"@4R(8T/<X/
M"#+LC\9'+P/H+D6!QC8TXVCU.03JU[A$X"@YQLHJA* 2.()FFD&@MZ,FAJNY
MGP1&YZUSQ#CJ#X>[403A42<\[H2?@2D83-OINTFI>^V0F4_HPH^$VN,XQFYA
M18=1C$,.MIIT=VM^4-U4V5$"81]4T@\R58:VRG/A@LB,4/N"+T.2P&>#2.2R
MUXS.NDE# 4'787^,R%$V[ZQF,&]@H[L,KU2WI31"3\[:7IW9D$!?,W9>&"'9
M:NNK:Q63JXA4X]U+X^GH_\+Q4_5Y[F#A9M7<\3+(X!"4>CP)B87/>=BS,>2<
M-LAZ@:TG[!'8L_#LL(0A(PIOK1=BGY,"$.G'%=(CO(4VR$WT%ETN9N _D*0Z
MQVP3B>>#%:G@!M.@SRYY(7R(J<#I3,1EO2T$V&L;1C-.=F4C[''"A)#KCDG0
M>'7(*\ZM-E I0+XGTM9G=_ZX!.W'FS&>]B9KIXX,A0=#0 ]_$H+/)ZH1!K4P
M*>B.(U2]9<24<3G;R.#6@U"8+A@.CS'AMTSJ#;PY&X235R4@S1>@9^BM%;"=
M9.P_.CWN37YYTY\\/&/YI='J(#!K?=1\?H:;GS]_;CMN#]9N03F9>;CK68P8
M)**^$'6KW77RO+Y%K<3KN^A-F-$6*9Y!==@_/HJ8J>]W]8O31;A3Q=KAAA8>
M,UR)R7@!?)]I[=H7[Z"[9$__!5!+ P04    " "@/J%8-7B7U" (   :%@
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
ML$:]Z7DGW./K']X4_/4/H]:;C!^7"O&T1(#W3\;X^@<I:#X'7_T/4$L#!!0
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
M. SH38$BA S?'@#;6R4)SX,<W.7@%;@R2E3*TRQB*$;2[K\+=FH08S<X&QO
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
M=EG0N$5E'>A\):79;>P%_0!/_P!02P,$%     @ H#ZA6&7A",QF P  ) @
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
M  O+@K\8T'@#OK\FSG&[\0_HOD%F_P-02P,$%     @ H#ZA6,KW(6GT!
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
M>CVQ1A;)8,DJKN_%[C.T?@+#EPJNZE^R:VL=BZ25TJ)HP:B@R,OFR9[;''H
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
M3.@/ BI[@<Z74IK]PAJH_W($WP%02P,$%     @ H#ZA6! 03A[. @  #@@
M !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&ULK59;3]LP&/TK5H8FD"BY
M7\K:2-"*#6F;$(SM8=J#FWQM+!([L]T&_OWL)$2]F&X/>VE\^<[YSK$_VYTT
MC#^) D"BYZJD8FH54M:7MBVR BHL+E@-5,TL&:^P5%V^LD7- ><MJ"IMSW$B
MN\*$6NFD';OCZ82M94DHW'$DUE6%^<LUE*R96J[U.G!/5H74 W8ZJ?$*'D ^
MUG=<]>R!)2<54$$811R64^O*O9PE.KX-^$Z@$5MMI)TL&'O2G=M\:CE:$)20
M2<V U6<#,RA+3:1D_.XYK2&E!FZW7]EO6N_*RP(+F+'R!\EE,;42"^6PQ.M2
MWK/F$_1^0LV7L5*TOZCI8D//0ME:2%;U8*6@(K3[XN=^';8 ;O &P.L!WK\"
M_![@MT8[9:VM.98XG7#6(*ZC%9MNM&O3HI4;0O4N/DBN9HG"R?26;H!*Q@F(
M<_155<WI'"0FI3A#(_3X,$>G)V?H!!&*OA5L+3#-Q<26*K&&VUF?Y+I+XKV1
MY OF%\AWSY'G>($!/CL.GT,VP/U=N*WL#IZ]P;/7\OE_\?R"YD1D)1-K#NCG
MU4)(KJKJE\E?1QB8"?5)NQ0USF!JJ:,D@&_ 2M^_<R/G@\GM?R+;\>X/WOUC
M[.D];E3Y2. $ER:C'3IJT?H&V*1)$.I-VVP[.(R*XR 9#U$[TH)!6G!4V@]U
MWD>$CFK.,A#&,NL(PJV\KA<XSIZZPZAQZ"1F<>$@+CPJ[H90HDY9CE:,F8]
M>) UB!/7W=-FB/+&@6<6%PWBHJ/B/G(FA#JC?5F;U$6'*Q<$L1_NR3.$>>.Q
M_\;.QH.^^*B^SVH[45_+QK6+#]*.HB2,]\09HL:!'YFU)8.VY*BVG0N0@C3)
M2P[*W?7C)$[V]!G"/"=T_#V!]M9MK5]*=3NN"!6HA*4".A>Q<LB[UZ?K2%:W
M%_B"2?4<M,U"/=C =8":7S(F7SOZ31C^ J1_ %!+ P04    " "@/J%8;7Y!
M.,@"  #%"@  &0   'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6RMEEUOFS 4
MAO^*Q:JIE=;PF:3M$J0F:&NG;8K:=;N8=N'"2;!J,+5-TOS[V8:B9*6HF;@!
MVYSW/9P'#&>R8?Q!I  2/64T%U,KE;*XL&T1IY!A,6 %Y.K*DO$,2S7E*UL4
M''!B1!FU/<<9V1DFN15.S-J"AQ-62DIR6' DRBS#?#L#RC93R[6>%V[(*I5Z
MP0XG!5[!+<B[8L'5S&Y<$I)!+@C+$8?EU+IT+Z*QCC<!/PELQ,X8Z4KN&7O0
MD^MD:CGZAH!"++4#5J<US(%2;:1NX['VM)J46K@[?G;_9&I7M=QC 7-&?Y%$
MIE/KS$()+'%)Y0W;7$%=SU#[Q8P*<T2;*G9X;J&X%))EM5C=04;RZHR?:@X[
M C=X1>#5 N^M K\6^&\5!+4@,&2J4@R'"$L<3CC;(*ZCE9L>&)A&K<HGN7[L
MMY*KJT3I9'@9/Y9$$/,,CK]CSK%^#B?H. *)"14GZ!3=W4;H^.@$'2&2HQ\I
M*P7.$S&QI<JO7>RXSC6K<GFOY/I2T@%RAA^0YWA^BWS>+?^&^0#YKI$'+?*H
M6QY!W,C_R6XK: TYKR'G&3__%;]9*=2*$&@7X>^O:@U=2\C$GS9 E670;JFW
M^(4H< Q32^UA 7P-5OC^G3MR/K;AZM,LZLEL#Z7?H/2[W,//C"4;0FD;L4[E
MH<0JLY$QTQ_$=3ATW?'Y>&*O=UFTA?G^F=^$[549-%4&G54N.%EC"72+KH F
MZ$[B]'2F/ED)FK.LP/FVK?Q.RT/+[],LZLEL#^6P03GL?^\-^T39IUG4D]D>
MRE&#<M3Y5NX2+$H>I^J-1 4G,;0Q'+W8&:X3.,[^_IEW9CP43D]F>W#&#9SQ
M?W^8QB]0^.;'LD>BT_Y0$CV9523LG9Y!-WCJ[[HBN4 4ELK>&8S52\FKIJF:
M2%:8-N*>2=64F&&J^DS@.D!=7S(FGR>Z,VDZU_ O4$L#!!0    ( * ^H5B0
M>;U@MP,  +80   9    >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;*V8:V_;
M-A2&_PJA%4,"--'-U\P6D$3H9>@PHUG:#\,^,-*Q190259*RFW^_0UI6Y$71
MXD)?8I'B^XKG(2F=D\5.R&\J ]#D1\X+M70RK<LKUU5)!CE5EZ*$ N^LA<RI
MQJ;<N*J40%,KRKD;>-[$S2DKG&AA^U8R6HA*<U; 2A)5Y3F5CS? Q6[I^,ZA
MXS/;9-ITN-&BI!NX WU?KB2VW,8E93D4BHF"2%@OG6O_*O8#([ COC#8J=8U
M,:$\"/'--#ZF2\<S,P(.B386%'^V< N<&R><Q_?:U&F>:83MZX/[.QL\!O-
M%=P*_I6E.ELZ,X>DL*85UY_%[@/4 8V-7R*XLG_)KA[K.22IE!9Y+<89Y*S8
M_](?-8B6P!^]( AJ0?!:05@+PM<*1K5@9,GL0[$<8JIIM)!B1Z09C6[FPL*T
M:@R?%6;=[[3$NPQU.KI.OE=,,;L&9W>XJ]** Q%K<LVY2*CMQY;.@*PJF62(
MF*PD2X#<"ES\%.31F'>42?*%\FKOH11H1>PS)*2$%BGYQ.@#X_A 4.9^E4-Z
M3LYBT)1Q=4XNR/U=3,[>G),WA!7DKTQ4"F5JX6J,ULS93>K(;O:1!2]$]@>5
MER3TWY+ "T8=\MM^>0Q)(P\[Y'&__/>*7Q)OW"5W<8F:=0J:=0JL7_B"WTVE
ML$?5,.L%^_L3]I&/&G+U3Q>@O>6HV]*\4:Y421-8.OC*4""WX$2__N)/O-^Z
M< UI%@]D=H0R;%"&?>[1>R'2'>.\B]A>.;%*\\K<1F/?G\ZG"W?;9M$U+ QG
MX?&PN'<>/QGEJ(ERU!LE'M(MU< ?R0?@*;G7-+NXP=.;XL'-2UH\=H7?:WGJ
MAAG2+![([ CEN$$Y'O[LC8=$.:19/)#9$<I)@W+2NRN_8A+ B@U):,DT[3R"
MO0:G@AO2+)X\._6SX.G-<,1CVO"8_L\IQ0Q.ZL>WI.2TT/8+";C)2DRM=!>=
M7KM3Z0QI%N_-QBTZ_GS<36?6T)GUTFD2!U9H6FS8 Z8FU.8476AZO4Y%,Z19
M/'N&9A+Z7C>;><-FWLOF3TRW9 ^-7O6I-(8TB^?/-THXZH;A>T]IK/<*'/PI
MN>Q,&'L]3H4RJ%M<N[6Q7$R#%["TLGO_IW.=?NG)-(9TBVNW-HW0)M*=.)Z2
M:+\WL8QL>;(]E"?EH:!)VJ5,)ZI!,^E!W>+:K?U9\KV1_]\/D]NJ$4U%C^71
MAA6*<%BCSKN<(FNY+Y+W#2U*6S8^"(U%J+W,@"(E,P#OKX70AX:I1)M_543_
M E!+ P04    " "@/J%80BI//-D"  "_"0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970S.2YX;6S%EEM/VS 4Q[^*E:&)24 NI>&R-E);A&!B4D7I>)CVX#8G
MC843!]MIZ;??L1NRHJ69A*CVDOAV_OX=G^-+;R7DDTH!-'G)>*[Z3JIU<>FZ
M:IY"1M6)*"#'GD3(C&JLRH6K"@DTMD89=P//"]V,LMR)>K9M+*.>*#5G.8PE
M46664;D> A>KON,[KPWW;)%JT^!&O8(N8 )Z6HPEUMQ:)689Y(J)G$A(^L[
MOQSZUL".^,%@I;;*Q+@R$^+)5&[CON,9(N PUT:"XF\)(^#<*"''<R7JU',:
MP^WRJ_JU=1Z=F5$%(\$?6:S3OG/ND!@26G)]+U8W4#G4-7ISP97]DE4UUG/(
MO%1:9)4Q$F0LW_SI2[406P9!L,,@J P"R[V9R%)>44VCGA0K(LUH5#,%ZZJU
M1CB6FZA,M,1>AG8Z&LR?2Z:87:'#"<8\+CD0D1#;(2$FM[FF^8+-L'F@%&CU
MA1Q>@::,8^F8C"5;4@U\36Z QV2J:7H\Q&6*R4AD!<W7Y("PG#RDHE0TCU7/
MU8AM)G?G%>)P@QCL0/Q6\A/B=8](X 4=,IU<D<.#+V]E7/2Z=CVH70^L;F>'
M[K!4V*(4V5Z#GW?81FXU9.I7$^I&\K19TFRA2U70.?0=W",*Y!*<Z/,G/_2^
MM@!W:N!.FWITS7*FX9AC&C>$I8Y8$_9&.+3"9J,NH[#C>SUWV8!S6N.<MN(\
M2!KC$8''1].,K;;O7*AN3=;]^,AV]P <UL#AOB(;_A79H+LCL&<US5DK3;WU
MV[&.R*,]\[!OL 2)9SB9*DA*3NY8 DVL[=-VR!JH5"W+>5X[<-ZJ-++G)DB\
M-C@UP5<I*QJSM%7GG4&_J"DO/CY++_8 ['M_+@MO7WE:*;\Y@KQP1Z;Z6]>7
M_W]R]1_S^L'N;'6WKF/SM/E.Y8+EBG!(4,L[.<.C1FY>"YN*%H6]H6="8][:
M8HHO+)!F /8G0NC7BKGTZS=;]!M02P,$%     @ H#ZA6/0K(O8]!   )Q0
M !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&ULM9C;;N,V$(9?A5 710*T
MD4GYF-H&[*3;YF*!P.FV%T4O:&ELL2N17I**-V]?ZF#1A22N[?7>Q#IPAC\U
M\W\A.-T+^4G% !I]21.N9EZL]>[>]U480TK5G=@!-V\V0J94FUNY]=5. HV*
MH#3Q2:\W]%/*N#>?%L^>Y7PJ,ITP#L\2J2Q-J7Q;0B+V,P][AP<KMHUU_L"?
M3W=T"R^@/^Z>I;GSZRP12X$K)CB2L)EY"WR_#(J 8L2?#/;JZ!KE2UD+\2F_
M>8IF7B]7! F$.D]!S<\K/$"2Y)F,CL]54J^>,P\\OCYD?U\LWBQF314\B.0O
M%NEXYHT]%,&&9HE>B?WO4"UHD.<+1:**OVA?C>UY*,R4%FD5;!2DC)>_]$OU
M(8X"".D((%4 *727$Q4J'ZFF\ZD4>R3ST29;?E$LM8@VXAC/J_*BI7G+3)R>
M_R9$M&=)@BB/T H2JB%"3UQ3OF7K!-!"*= *W;R8=H@R\T!LT$-LWH)"C*,'
M*N4;XUNT2$7&=?[VD/$6W3R"IBQ1M^A=/O:/6&3*3*.FOC;*\_G]L%*Y+%62
M#I4!^B"XCA7ZE4<0_3_>-RNNETT.RUX29\(/5-ZA /^$2(_TT<>71W3S[M:1
M-Z@_9U#D#;[V.?]>"?/7-,Z>RNB?MA67B?KMB7(SWJL=#6'F&;<ID*_@S7_\
M 0][OSAD]FN9?5?V^9(FE(> J$:/$$*Z!GGX&D&;UC+;L,B6^_QU/L!!,#9C
M7UM4#&H5 Z>*1?2O:7!C<=-@6J"=9$*B-Z#2>/5SQA3+?=O:+67>P9&>GS'&
MO78YPUK.T"G'%,MXF!O720D\?$-:4JZ,(XR*-A'#IHC^:-BN851K&)U:&-.B
M85SW:)N 44/  ./19-0N85Q+&#LEK(##GAKOMWYY9^R%73NIE4VN9:[)=Y")
M>Y:IO:O:JTIW7$D\[I.@HZ'Q$=SQ=W)8E?A84I<:8M60JQJL2G>*!LMG[.3J
M>0:K<IU<%XM?[.;O"A2+3%4835KG=49?VKX6RWAP+9]A)^$O56J)C=W(/MMH
M3683' RZJ(TMMK&;V]]@M";%'?_+L*4X=F/\;+.-3S:;Y35V<O9,LTU::D/Z
MPX[:$$MCXJ;Q8JLAC-NF= =>V+W$TIG@:_F,.#E_J5)+;N(F][D^(TURCX/Q
M9-)12DMOXJ;WY38C391WM#>Q%"=NBI]KL2K=:3M&8G%-W-OHLUQ&FEOG<= G
M'3MY8DE,W"1^XAM)E999J#,)K3,[$US:PI;09'0ULSE9?ZE22V[B)O?99FN2
M.\##T;BCI);>Q$WO;S!;$^4=9@LLQ0,WQ<\U6]#<4W=IL, .W-OILYQ6Y1I^
MI2S^T=E-"G);G% I%.;'*>4Q3OVT/@5;E&<_=GAYA&8T;1E7*(&-">W=C<SB
M97DJ5=YHL2M.@M9":Y$6ES'0"&0^P+S?"*$/-_D$]=G@_#]02P,$%     @
MH#ZA6)_A%[%( @  504  !D   !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL
MK53!;MLP#/T502N&%N@BQTZ[(G,,I FV]5 @2-#M,.R@V$PB5)8\28Z[OQ\E
M.T:*I5T/N]BBQ/=$/I%,&VT>[0[ D:=2*CNA.^>J,6,VWT')[4!7H/!DHTW)
M'9IFRVQE@!<!5$H61]$U*[E0-$O#WL)DJ:Z=% H6AMBZ++GY?0M2-Q,ZI(>-
MI=CNG-]@65KQ+:S /50+@Q;K60I1@K)"*V)@,Z'3X7B6>/_@\$U 8X_6Q&>R
MUOK1&W?%A$8^()"0.\_ \;>'&4CIB3",7QTG[:_TP./U@?USR!US67,+,RV_
MB\+M)O2&D@(VO)9NJ9NOT.5SY?ER+6WXDJ;SC2C):^MTV8$Q@E*H]L^?.AV.
M ,/1"X"X \1O!20=("C'VLA"6G/N>)8:W1#CO9'-+X(V 8W9".5?<>4,G@K$
MN>R+UD4CI"1<%60)DCLHR)UR7&W%6@*96@O.D@]D6A3""\\E'K?5XY_A? Z.
M"VDOT.5A-2?G9Q?DC A%[I$4'6S*'(;I+V-Y%])M&U+\0DCWW Q(,KPD<12/
M3L!GK\/GD/?PY#F<H3B]0G&O4!SXDK<H]+<R<V%SJ6UM@/R8KJTS6)@_3R7=
MWC(Z?8MOUK&M> X3BMUHP>R!9N_?#:^C3Z<D^$]DSP1)>D&2U]A[02ZQ!_.Z
MK-N:$67%A<'^=@3EL'#RX5OBFT#LY\L^&R;)($[9_CBY?WFU4;.CHO<#!\MF
M*Y0E$C:(BP8?KR@Q;1.WAM-5Z(.U=MA58;G#N0?&.^#Y1FMW,'QK]9,T^P-0
M2P,$%     @ H#ZA6)_(+2>>!   AQD  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#(N>&ULO5E=;]LV%/TKA%8,*9!$(O7IS#;@.F@;H!V"I-D>ACTP$FT3
ME427I.-FOWZ4K$B617%U)^?%UL>]A_=<WTL>TN,MXU_%BA )OF=I+B;62LKU
ME6V+>$4R+"[9FN3JS8+Q#$MURY>V6'."D](I2VWD.(&=89I;TW'Y[)9/QVPC
M4YJ36P[$)LLP?WY'4K:=6-!Z>7!'ERM9/+"GXS5>DGLB']:W7-W9-4I",Y(+
MRG+ R6)BS>#5' 6%0VGQ!R5;L7<-"BJ/C'TM;FZ2B>44$9&4Q+* P.KKB<Q)
MFA9(*HYO%:A5CUDX[E^_H+\OR2LRCUB0.4O_I(E<3:S( @E9X$TJ[]CV(ZD(
M^05>S%)1?H)M9>M8(-X(R;+*6460T7SWC;]7B=AS@%Z/ ZH<T(\ZN)6#6Q+=
M15;2NL823\><;0$OK!5:<5'FIO16;&A>_(SWDJNW5/G)Z0?&DBU-4X#S!-R1
M%$N2@)M<XGQ)'U,"9D(0*<#9O:J?9*,>L 68Q=\VE.OLWH*S:R(Q3=75!7BX
MOP9G;]Z"-X#FX,N*;80:1(QMJ>(N1K?C*L9WNQA13XR?,;\$+CP'R$&>QGUN
M=K\F<>WNMMUME:TZ9:A.&2KQW!Z\]S2GDEQ\4N6G2]5?GY0]N)$D$W_KN.[
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
MH%5>6Q?NMAI'I _=M7E[<PINB36WQ&YN.5G0.R[VH,O>0-4PE)JYQ%P34A*
M!GT"BD&@:AA*S;128U#B7A-W5-"W&GMYA/V[=G=-WKZ<@FD2S32)FVG>"?A'
MN:4N/C:/<GQF@MIM UV_!JJ&H=1,>S44)3%L!(.2#Z@:AE(SK=QYX,:]S*UY
MNBUGI$1G]0H)9EV(UFKLSJ7%!^;2W-5YFW,*EDDTRR1NECD<P1-!RMGT%>W,
M2!Y.(;AK\>Y^H#@$I68ZK'$H@7TR)P%E&5 U#*5F6JE9)G&O4?.9''=+>=MX
M^79XL#]"=PI$232B)&Y$.1S.SW3-\K5*N[1?WI$TRP]D7]RU>)L'"CI0:J;#
M&G02V&=S$E!* 57#4&KF4Z&:4GKN/([NDFTTS]LN^0&1-<ER,FT^(5*PVI[J
M=U?@_3!H\#;(!_W8%N;V74/;P[+=G8?SU4\I/#:KD2J4T[DL&UQ<RLL3W_PZ
MP>:#8*OF>?TI$X(5S=LE)3/*U0[R^SF3]]/M!_43 -O?B!C]!U!+ P04
M" "@/J%8<:LNH;@"  !P"0  &0   'AL+W=O<FMS:&5E=',O<VAE970T-BYX
M;6S%5M%NVC 4_14KDZ96&DU(@'0=1**T4RNM$RK:]C#MP2078C6V4]M V=?O
MVDDC4 &U$]-X(+[./<<^Q[ZQ^RNI'G0.8,@3+X0>>+DQY87OZS0'3O69+$'@
MFYE4G!H,U=S7I0*:.1 O_# (>CZG3'A)W_6-5=*7"U,P 6-%]()SJM:74,C5
MP&M[SQWW;)X;V^$G_9+.80+F6SE6&/D-2\8X",VD( IF V_8OAC%-M\E?&>P
MTAMM8I5,I7RPP6TV\ ([(2@@-9:!XF,)(R@*2X33>*PYO69("]QL/[-_=MI1
MRY1J&,GB!\M,/O#./9+!C"X*<R]7-U#KZ5J^5!;:_9-5E1M_]$BZT$;R&HPS
MX$Q43_I4^[ !:$=[ &$-"%\+B&I Y(16,W.RKJBA25_)%5$V&]ELPWGCT*B&
M";N*$Z/P+4.<2:X?%\RL6Y?H1$9&DN/NT-09?'(K4A#69#(NJ#@E)U=@*"OT
M*6G93(XY$R/3!PQU3A7HOF]P1I;73^O1+ZO1PSVCW]$U":(/) S": =Z] IT
MQZ'#;;2/+C16A(T5H:/K[*$;XN;,T(4P:)\[R;OT'*2P)7>A2YK"P,.:TJ"6
MX"7OW[5[P:==\HY$MJ4V:M1&CCW:HW9BEZPU?;GN0Z6HF .:8<AT33;SQG3M
MNH<KJC+R\PM2DEL#7/_:955T3*N.1+9E5:>QJG-P8WQ=\"DH(F?U/B=T87*I
MV&^TY(2)NO=TEP<5<=<1VP_J,FGWHG8<Q'U_N2GOX 3^4EZWD=<]+$^*UC4O
M"[D&(%=,X0=6*KVW @Z2O759CT2VI;O7Z.[]YPKH'=.J(Y%M614W5L7_J@(.
M$K_5@_A%.>%M!7]--57J_(WST-Y%[JB:,Z%) 3,$!F<Q,JCJ?*\"(TMW1$ZE
MP0/7-7.\$H&R"?A^)J5Y#NRIVURRDC]02P,$%     @ H#ZA6/C9$>;0!
MFQ@  !D   !X;"]W;W)K<VAE971S+W-H965T-#<N>&ULQ5EK3^,X%/TK5G:U
M @E(DSY2V+82E)E=I&%4P<[,A]5^<)/;UB*).[;3@K0_?OT(>4!J-K-9\87F
MX7M\S[&O?6(F>\H>^ 9 H,<D3OG4V0BQO7!='FX@P?R,;B&5;U:4)5C(6[9V
M^98!CG10$KM^KS=R$TQ29S;1SQ9L-J&9B$D*"X9XEB28/5U!3/=3QW.>']R1
M]4:H!^YLLL5KN ?Q9;M@\LXM4"*20,H)31&#U=2Y]"[F?E\%Z!9?">QYY1HI
M*DM*']3-331U>BHCB"$4"@++GQW,(8X5DLSC>P[J%'VJP.KU,_I'35Z266(.
M<QI_(Y'83)VQ@R)8X2P6=W3_.^2$A@HOI#'7?]$^;]MS4)AQ09,\6&:0D-3\
MXL=<B$J Q&D.\/, _V7 X$! /P_0RKDF,TWK&@L\FS"Z1TRUEFCJ0FNCHR4;
MDJIAO!=,OB4R3LP^?,^(>#J]DDI$:$X3.3TXU@(?W<LI$V4Q(+I"G[-D"4Q=
M7>XQBSC":82^:8UDW.4.F!QS]!O#J4 R#T ?,6'H*XXS.$9'UR PB?DQ.D4_
M(Q?Q#6; )ZZ0^:LLW##/]<KDZA_(M8]N:2HV''U((XCJ\:[D79#WG\E?^5;
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
M   9    >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;+5674_;,!3]*U:&)I"
M?/6#LC926YB&-"1$87N8]F"2V\8BB3/;:<N_W[63AK:$"E!Y:6WGGM-SS[V-
M;W_!Q:., 119IDDF!U:L5'YNVS*,(:7RE.>0X9,I%RE5N!4S6^8":&1 :6)[
MCM.Q4\HR*^B;LQL1]'FA$I;!C2"R2%,JGD:0\,7 <JW5P2V;Q4H?V$$_IS.8
M@+K/;P3N[)HE8BEDDO&,")@.K*%[/G8=#3 1OQ@LY-J:Z%0>.'_4FZMH8#E:
M$200*DU!\6L.8T@2S80Z_E6D5OV;&KB^7K%_-\EC,@]4PI@GOUFDXH%U9I$(
MIK1(U"U?_( JH;;F"WDBS2=95+&.1<)"*IY68%20LJS\ILO*B#4 \C0#O K@
M;0-:KP#\"N";1$ME)JT+JFC0%WQ!A(Y&-KTPWA@T9L,R7<:)$OB4(4X%ETNF
MR%![R=03&7.I)*%91(928@]=I3EE JN&IX>3LM*$3\F;44?D\ (490FN3LC]
MY((<'AR1 \(R<A?S0B)(]FV%B6@Y=EB)'I6BO5=$^^2:9RJ6Y#*+(-K$VVA
M[8*W<F'D[22\IN*4^.XQ\1ROU:!G_':XOT..7Q?%-WS^*WRW()4H0E4(ELV,
MO<9=/ 8Q!_+G)\:3*P6I_-MD7DG>:B;7[X5SF=,0!A;^\0VC%7S]XG:<;TV9
M[XELPX=6[4-K%WMPQQ5-FC(L81T#TR^J>>#[[;X]7Q?^,J;C>G7,AIYVK:>]
M4X^I!+:_I DTMNU.^'N=WQ/91J:=.M/.9W9@9Y\^[(ELPX=N[4/W8QU8PMIK
MW772];8Z\&5,V_6;._"LUG.V4\\$[SNLR#&900:")L>F+#3"FX%AQ:B^$PDL
M\9*7T"1[)_M["[,GL@TC>K41O<]LT-X^?=@3V88/KO-\@3L?:]$*M_X&;#G=
MK1YM".KUMGK47ALO4A S,W5)$O(B4^4=6Y_6D]W0S#-;YR,]\9FQY9FF'!?Q
M!IVQ3)($IDCIG';Q7R/*":S<*)Z;(>:!*QR)S#+&J16$#L#G4\[5:J-_H)Z#
M@_]02P,$%     @ H#ZA6-#(]SWS @  YP<  !D   !X;"]W;W)K<VAE971S
M+W-H965T-3$N>&ULK55=;YLP%/TK5ZR:.FDM"038N@2I25NMTBI5Z;H]3'MP
MX"98-3:S3=+^^]DF8?F@V1[V K:YY_B<:W/O<"7DDRH0-3R7C*N15VA=7?B^
MR@HLB3H7%7+S92YD2;29RH6O*HDD=Z"2^4&O%_LEH=Q+AV[M7J9#46M&.=Y+
M4'59$ODR1B96(Z_O;1:F=%%HN^"GPXHL\ 'U8W4OS<QO67):(E=4<) X'WF7
M_8M)8N-=P#>**[4U!NMD)L23G=SF(Z]G!2'#3%L&8EY+G"!CELC(^+7F]-HM
M+7![O&&_<=Z-EQE1.!'L.\UU,?(^>)#CG-1,3\7J,Z[]1)8O$TRY)ZS6L3T/
MLEII4:[!1D%)>?,FS^L\; $,3S<@6 ."?<#@%4"X!H3.:*/,V;HBFJ1#*58@
M;;1ALP.7&X<V;BBWI_B@I?E*#4ZGU\]4PZ7-)=4O,!%**R \ATNES!6Z+2M"
MI3DTLWHZQ4SPC#)4(.;PA9(9919DKA)TT4R1$4WY K2 &Y(UP1/!E6 T)^X0
MK^<&K-4[.+U"32@SHS-X?+B"TY-W< *4P]="U,H(4D-?&[M6M)^MK8T;:\$K
MUD*X$UP7"JYYCODNWC=I:G,5;'(U#HX2WA%Y#F'_/02]8-"A9_+O\/"(G+ ]
MNM#QA:_P35%I66>ZEC;)9H9RB?!C*A@#<\571.8_N[+6L ZZ66W5N% 5R7#D
MF;+@.+WT[9M^W/O49?D_D>TD8- F8'",/1WC@G)NS<\((SS#+K<-1>PH;$E;
MIG$21$-_N>WB,"@8]),V:$==U*J+CJK;^26ZE#7P:&O302_9$W88$R=1MZZX
MU14?U34AJH"*O+B_NDM7?+#G612%>\(Z@OIAT.^6EK32DN,IX_E?3C,Y/,TH
M^;BG[3"HGR3[TORMFEFB7+A6HB 3-==-26A7VVYUZ8KTWOK8=+&FZ?RA:5J@
M^>'-!57 <&XH>^>)29=LVDHST:)RE7DFM*GS;EB83HS2!ICO<R'T9F(W:'M[
M^AM02P,$%     @ H#ZA6"RJX0F4 @  ?@8  !D   !X;"]W;W)K<VAE971S
M+W-H965T-3(N>&ULK57);MLP$/T50@V*%&BMS4N0R@)B.T5S"&ID:0]%#[0T
MLHA(I$I2=OKW'5*R8KN*VT,O$I=YC^^-AJ-H*^23R@$T>2X+KJ9.KG5UZ;HJ
MR:&D:B JX+B3"5E2C5.Y=E4E@:865!9NX'ECMZ2,.W%DUY8RCD2M"\9A*8FJ
MRY+*7S,HQ';J^,YNX8ZM<VT6W#BJZ!KN03]62XDSMV-)60E<,<&)A&SJ7/F7
M\Y&)MP%?&6S5WI@8)RLAGLSD)ITZGA$$!23:,%!\;6 .16&(4,;/EM/ICC3
M_?&._9/UCEY65,%<%-]8JO.I<^&0%#):%_I.;#]#Z\<*3$2A[)-LVUC/(4FM
MM"A;,"HH&6_>]+G-PQX >?H!00L(C@'#5P!A"PBMT4:9M;6@FL:1%%LB332R
MF8'-C46C&\;-5[S7$G<9XG1\PQ-1 GF@SZ#(^5**#;,?"'-$#O;,PEQPS7C-
M^)I\J4!2\R'4.W*^ $U9@:,/Y/%^0<[/WI$SPCAYR$6M*$]5Y&K4:DYTDU;7
MK-$5O*(K)+=X6*[(-4\A/<2[Z+$S&NR,SH*3A+=4#DCHOR>!%PQ[],S_'1Z>
MD!-V>0\M7_C7O),%4TDA5"V!?+]:*2VQM'_T9:QA'/8SFNM^J2J:P-3!^ZQ
M;L")W[[QQ]['/KO_B>S _+ S/SS%'K^4&;8A+!2;"FW*K,]VPS6V7*8I;>*+
MT=B/W,V^G3^#)OYDT@4=R!QU,D<G95YG&=@N8[01+'?HD]=P^-[>T=X@&(V/
M!+X2-CR2Z.Y=Y1+DVG8X11)1<]T4>[?:-=$KVSN.UF?87)M>^$+3=&8LY37C
MBA20(:4WF* TV72[9J)%91O&2FAL/W:8XP\"I G _4P(O9N8 [I?3OP;4$L#
M!!0    ( * ^H5CTP'(H2P(  )X%   9    >&PO=V]R:W-H965T<R]S:&5E
M=#4S+GAM;*U436_;, S]*X('#"TPQ(Z==EOF&$C2%>NA0]#NXS#LH-A,+%26
M/(F.TW]??3A>6B3I#KO$(L7WQ,>03%NI'G0)@&1;<:$G08E8C\-0YR545 ]D
M#<+<K*2J*!I3K4-=*Z"% U4\C*/H,JPH$T&6.M]"9:ELD#,!"T5T4U54/<Z
MRW82#(.=XXZM2[2.,$MKNH9[P._U0ADK[%D*5H'03 JB8#4)IL/Q?&3C7< /
M!JW>.Q.K9"GE@S5NBDD0V82 0XZ6@9K/!N; N24R:?SI.(/^20O</^_8KYUV
MHV5)-<PE_\D*+"?!AX 4L*(-QSO9?H%.SX7ERR77[I>T/C:Y"$C>:)15!S89
M5$SX+]UV==@##(\!X@X0OP2,C@"2#I XH3XS)^N*(LU2)5NB;+1ALP=7&X<V
M:IBP_^(]*G/+# ZS&Y'+"L@WN@5-SKY2I:BMZSDYNP*DC.OS-$3SCHT.\XYS
MYCGC(YP)N94"2TT^BP**Y_C0Y-<G&>^2G,4G"6^I&I!D^([$43PZD,_\W^')
MB722OF:)XTM>K1FY8CKG4C<*R*_I4J,R;?G[4,4\X^@PHQW5L:YI#I/ S*(&
MM8$@>_MF>!E].B3W/Y$]$S_JQ8].L6?74("BG&BDV*!4CX3Y<J IAVD>.*3>
M4WYTE':O;+)H$ _3<+.OZI4@GVVXU^H5J+7; )KDLA'H&ZKW]DMFZF;KA7]F
MEH_?%7]I_.8R[;)F0A,.*T,9#=Z;T55^&W@#9>T&:BG1C*<[EF:!@K(!YGXE
M)>X,^T"_DK,G4$L#!!0    ( * ^H5A@,I;'8P,  "4+   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4T+GAM;,U676_3,!3]*U9 :)-@^>K'.MI(6P<""=!$
M^7A /'C);6/-L8/MM./?<^UD6;JF94A[X*5-G'N/SSF^MN]T(]6-S@$,N2VX
MT#,O-Z8\\WV=YE!0?2)+$/AE*55!#;ZJE:]+!31S207WHR 8^05EPDNF;NQ*
M)5-9&<X$7"FBJZ*@ZO<%<+F9>:%W-_"9K7)C!_QD6M(5+,!\+:\4OODM2L8*
M$)I)010L9]YY>#8/ YO@(KXQV.C.,[%2KJ6\L2_OLYD76$; (346@N+?&N;
MN45"'K\:4*^=TR9VG^_0WSKQ*.:::IA+_IUE)I]YIQ[)8$DK;C[+S3MH! TM
M7BJY=K]DT\0&'DDK;631)".#@HGZG]XV1G02$*<_(6H2HH<)@ST)<9,0.Z$U
M,R?KDAJ:3)7<$&6C$<T^.&]<-JIAPB[CPBC\RC#/)&^H$DRL-"E!D45.%9"C
M2S"4<7U,7I&OBTMR]/R8/"=,D"^YK#05F9[Z!J>V '[:3'-13Q/MF28F'Z4P
MN29O1 ;9=KZ/E%O>T1WOB^@@X$>J3D@<OB11$ UZ^,P?GQX?H!.W-L8.+]Z#
M=RX,RQBO;$V2!:258H8!RKU->86*R5+)@LQE45:&NOJ52])Z?]5Z_^,# I/W
M!@K]L\_EFL6@GX7=\F>ZI"G,/-S3&M0:O.3%LW 4O.ZSZ(G M@P;M(8-#J$G
MG_"$8B*5!1"ZQFJCUQR(D01'"G0'ZSZ]R27/0/566PT^<N#VI%HGT6 R&$W]
M=5=@3U083"9MU!;S8<M\>)#YI5UF7-$CW!':+IH^[F-8@PP[<\?!<(RG:_"
M9%_@Z63<#=SB.6IYC@[RG'><)+*T1:<)[MYFI!+,Z+^)&.UPB]#!'0F[86&T
M7\"X%3 ^*."[.X+1:;H&A5=*0Y3@9:0-"L&M\Y)DCUN-<8_)XTF\*Z4G,,03
M9J^8TU;,Z:-6PU'L8W@P_5]W]A.!;2F=M$HG_\51.'E*PYX(;,NP,+B_@X.#
MQ;%EF;ZW#+8L@^Y5[0J)I)2G%:]=_,L.:"AT*WNP6_X]4:.>XO<[#4<!:N7Z
M,(V'=R5,?8>WHVVO=^XZG ?C%[8'=(W,/4S=0.(-O6)X8G%8(F1P,D9.JN[)
MZA<C2]?67$N#39)[S+&/!64#\/M22G/W8B=H.^/D#U!+ P04    " "@/J%8
M[T7Z19<&  !G,P  &0   'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6S%FUUO
MVS84AO\*X15#"[2Q2.HS<PPDUH8%6-<B:;>+81>*3=M")=$3Z;@#]N-'?42T
M))J.;1J^22R9YR7/*_'H$2V--C3_QI:$</ ]33)V,UAROKH>#MET2=*(7=$5
MR<0W<YJG$1>;^6+(5CF)9F50F@R19;G#-(JSP7A4[ON<CT=TS9,X(Y]SP-9I
M&N7_WI&$;FX&</"RXR%>+'FQ8S@>K:(%>23\Z^IS+K:&C<HL3DG&8IJ!G,QO
M!K?P.K1Q$5"V^",F&[;U&12I/%'ZK=BXG]T,K&)$)"%37DA$XM\SF9 D*93$
M./ZI10=-GT7@]N<7]5_*Y$4R3Q$C$YK\&<_X\F;@#\",S*-UPA_HYE=2)^04
M>E.:L/(OV%1M76\ IFO&:5H'BQ&D<5;]C[[71FP%8&M' *H#4"< H1T!N [
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
MWH-[[Z-P_9X*-_\=&S\"4$L#!!0    ( * ^H5B7BKL<P    !,"   +
M7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_
MK]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?2
M0$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-
MTG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z
M6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ H#ZA6'-%D/]N!
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
MZ^AAFT!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]#O8U
M;T.]C4!O0[V-0&\;O2PAT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\C
MT-M1;R?0VU%O)]#;46\GT-M1;R?0VT<ONPGT=M3;"?1VU-L)]';4VPGT=M3;
M"?1VU-L)](ZH=R30.Z+>D4#OB'I' KTCZAT)](ZH=R30.XX^5A+H'5'O^)]Z
MYW+:I7SM^5[C]?^3ZG(^-UTO?UE^[QS=XQ>< _QO\?@%4$L#!!0    ( * ^
MH5B/X;=ITP$  #8A   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:R6[",!0%
MT%]!V5;$> @=!&S:;EL6_0$W>4!$$ENVH?#W=<(@M:*HB$J]&R)B^]T76SJ;
M9/2VM>1[F[IJ_#A9A& ?&//Y@FKM4V.IB2,SXVH=XE\W9U;G2STG)@:#(<M-
M$Z@)_=#62":C)YKI515ZSYMXVY>F&2>.*I_T'G<3VZQQHJVMRER'.,[63?$M
MI;]/2./*;HY?E-;?Q D).YG0COP<L%_WNB;GRH)Z4^W"BZ[C++:IF _;BGQZ
MOL2)'LUL5N94F'Q5QR6IMXYTX1=$H:[27=&;\\DA[C#M?OG5^5V9<X%QYM09
MZ^.).;H\[G D[>J^C87(A?+\(QX38^FKGX_:TRZH^&5VW-X/XY;=>7C67:[?
MXZ]G?*Q_81\"I \)TH<"Z2,#Z6,(TL<M2!]W('W<@_3!!RB-H(C*44CE**9R
M%%0YBJH<A56.XBI'@96CR"I09!4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR
M2A19)8JL$D56B2*K1)%5HL@J4625*+)*%%DEBJP*15:%(JM"D56AR*I09%4H
MLBH4616*K I%5H4B:X8B:X8B:X8B:X8B:X8B:X8B:_:?LKX;L_SK-_GM-:UU
MV1SR6?>YQ.034$L! A0#%     @ H#ZA6 =!36*!    L0   !
M     ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " "@/J%8)<I3
MWN\    K @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q0
M2P$"% ,4    " "@/J%8F5R<(Q &  "<)P  $P              @ '- 0
M>&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( * ^H5B?IOQ+]04  ,H?
M   8              " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q0
M2P$"% ,4    " "@/J%8&320E5D$   O$   &               @($Y#@
M>&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ H#ZA6+)A#\7:
M @  &@@  !@              ("!R!(  'AL+W=O<FMS:&5E=',O<VAE970S
M+GAM;%!+ 0(4 Q0    ( * ^H5C4#-96-@8  )(8   8              "
M@=@5  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " "@/J%8
M/$-\T3T#   2"P  &               @(%$'   >&PO=V]R:W-H965T<R]S
M:&5E=#4N>&UL4$L! A0#%     @ H#ZA6.KJ2/E/!@  CAD  !@
M     ("!MQ\  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    (
M * ^H5B+S8$^.0<  !XV   8              " @3PF  !X;"]W;W)K<VAE
M971S+W-H965T-RYX;6Q02P$"% ,4    " "@/J%8*Y42A9P#  #;!P  &
M            @(&K+0  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#
M%     @ H#ZA6"A/>^_8!   IPL  !@              ("!?3$  'AL+W=O
M<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( * ^H5CS=:3.O ,  #D(
M   9              " @8LV  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL
M4$L! A0#%     @ H#ZA6/^37+"(!   >0H  !D              ("!?CH
M 'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " "@/J%8[%R;
MFK\"  #-!0  &0              @($]/P  >&PO=V]R:W-H965T<R]S:&5E
M=#$R+GAM;%!+ 0(4 Q0    ( * ^H5@J3O.J#@8  ',.   9
M  " @3-"  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @
MH#ZA6':L5OE<!0  >0P  !D              ("!>$@  'AL+W=O<FMS:&5E
M=',O<VAE970Q-"YX;6Q02P$"% ,4    " "@/J%8]N\Q^@0&  !P#P  &0
M            @($+3@  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4
M Q0    ( * ^H5@U>)?4( @  !H6   9              " @494  !X;"]W
M;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ H#ZA6)DB/=.,!0
MY0T  !D              ("!G5P  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX
M;6Q02P$"% ,4    " "@/J%89R:F]HH"  "<!0  &0              @(%@
M8@  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( * ^H5B%
M3"<E'P,  ),'   9              " @2%E  !X;"]W;W)K<VAE971S+W-H
M965T,3DN>&UL4$L! A0#%     @ H#ZA6/>IX#E_!@  +P\  !D
M     ("!=V@  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4
M" "@/J%8J('N=R$#  #?!@  &0              @($M;P  >&PO=V]R:W-H
M965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( * ^H5@KM?!WC@(  +8%   9
M              " @85R  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L!
M A0#%     @ H#ZA6*1(0_:+ P  X <  !D              ("!2G4  'AL
M+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " "@/J%8KR6(X[X"
M  #,!0  &0              @($,>0  >&PO=V]R:W-H965T<R]S:&5E=#(T
M+GAM;%!+ 0(4 Q0    ( * ^H5AEX0C,9@,  "0(   9              "
M@0%\  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ H#ZA
M6)MJRSCH!   PPP  !D              ("!GG\  'AL+W=O<FMS:&5E=',O
M<VAE970R-BYX;6Q02P$"% ,4    " "@/J%8]3\R8O@$  "X"P  &0
M        @(&]A   >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0
M   ( * ^H5BZL'%[000  /\*   9              " @>R)  !X;"]W;W)K
M<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ H#ZA6 >NOF6: @  RP4
M !D              ("!9(X  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q0
M2P$"% ,4    " "@/J%8CS%;RF$#  "/"   &0              @($UD0
M>&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( * ^H5C*]R%I
M] 0  -0+   9              " @<V4  !X;"]W;W)K<VAE971S+W-H965T
M,S$N>&UL4$L! A0#%     @ H#ZA6&![U0VY @  & <  !D
M ("!^)D  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " "@
M/J%8&#<5DM4"  #C!P  &0              @('HG   >&PO=V]R:W-H965T
M<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( * ^H5@^E@7^RP(  -,&   9
M          " @?2?  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#
M%     @ H#ZA6&!_:<M> P  ?@P  !D              ("!]J(  'AL+W=O
M<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    " "@/J%8$!!.'LX"   .
M"   &0              @(&+I@  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM
M;%!+ 0(4 Q0    ( * ^H5AM?D$XR (  ,4*   9              " @9"I
M  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ H#ZA6)!Y
MO6"W P  MA   !D              ("!CZP  'AL+W=O<FMS:&5E=',O<VAE
M970S."YX;6Q02P$"% ,4    " "@/J%80BI//-D"  "_"0  &0
M    @(%]L   >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    (
M * ^H5CT*R+V/00  "<4   9              " @8VS  !X;"]W;W)K<VAE
M971S+W-H965T-# N>&UL4$L! A0#%     @ H#ZA6)_A%[%( @  504  !D
M             ("! ;@  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"
M% ,4    " "@/J%8G\@M)YX$  "'&0  &0              @(& N@  >&PO
M=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( * ^H5B?J@OB> (
M .\%   9              " @56_  !X;"]W;W)K<VAE971S+W-H965T-#,N
M>&UL4$L! A0#%     @ H#ZA6.077L-\ @  = 8  !D              ("!
M!,(  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " "@/J%8
M80U00WD'   O0@  &0              @(&WQ   >&PO=V]R:W-H965T<R]S
M:&5E=#0U+GAM;%!+ 0(4 Q0    ( * ^H5AQJRZAN (  ' )   9
M      " @6?,  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%
M  @ H#ZA6/C9$>;0!   FQ@  !D              ("!5L\  'AL+W=O<FMS
M:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    " "@/J%88:>%BHX$  !E&P
M&0              @(%=U   >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+
M 0(4 Q0    ( * ^H5@:Y..F[ 0  (L?   9              " @2+9  !X
M;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ H#ZA6.B!W0<-
M P  $PL  !D              ("!1=X  'AL+W=O<FMS:&5E=',O<VAE970U
M,"YX;6Q02P$"% ,4    " "@/J%8T,CW/?,"  #G!P  &0
M@(&)X0  >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( * ^
MH5@LJN$)E (  'X&   9              " @;/D  !X;"]W;W)K<VAE971S
M+W-H965T-3(N>&UL4$L! A0#%     @ H#ZA6/3 <BA+ @  G@4  !D
M         ("!?N<  'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4
M    " "@/J%88#*6QV,#   E"P  &0              @($ Z@  >&PO=V]R
M:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( * ^H5CO1?I%EP8  &<S
M   9              " @9KM  !X;"]W;W)K<VAE971S+W-H965T-34N>&UL
M4$L! A0#%     @ H#ZA6%%'>FVY!0  Y"D  !D              ("!:/0
M 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    " "@/J%86P+6
MW3,#   J$P  #0              @ %8^@  >&PO<W1Y;&5S+GAM;%!+ 0(4
M Q0    ( * ^H5B7BKL<P    !,"   +              "  ;;]  !?<F5L
M<R\N<F5L<U!+ 0(4 Q0    ( * ^H5AS19#_;@0  ",E   /
M  "  9_^  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " "@/J%8##^0_.4!
M  !_(0  &@              @ $Z P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'-02P$"% ,4    " "@/J%8C^&W:=,!   V(0  $P
M@ %7!0$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     0 !  '<1  !;!P$
"   !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<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>71
<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>73
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>152</ContextCount>
  <ElementCount>216</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>49</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="rock-20240331.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-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - 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>2</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - 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>3</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - 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>4</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - 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>5</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - 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>6</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - Consolidated Statement of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity</Role>
      <ShortName>Consolidated Statement of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Disclosure - Product Warranties</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ProductWarranties</Role>
      <ShortName>Product Warranties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - Basis Of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/BasisOfPresentation</Role>
      <ShortName>Basis Of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Accounts Receivable, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableNet</Role>
      <ShortName>Accounts Receivable, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Inventories, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNet</Role>
      <ShortName>Inventories, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Acquisition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Acquisition</Role>
      <ShortName>Acquisition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - 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>14</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Long-Term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LongTermDebt</Role>
      <ShortName>Long-Term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - 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>16</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - 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>17</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - 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>19</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformation</Role>
      <ShortName>Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>9954471 - Disclosure - Basis Of Presentation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/BasisOfPresentationPolicies</Role>
      <ShortName>Basis Of Presentation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>9954472 - Disclosure - Product Warranties (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ProductWarrantiesTables</Role>
      <ShortName>Product Warranties (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ProductWarranties</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>9954473 - Disclosure - Accounts Receivable, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableNetTables</Role>
      <ShortName>Accounts Receivable, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccountsReceivableNet</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>9954474 - 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>24</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>9954475 - Disclosure - Acquisition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionTables</Role>
      <ShortName>Acquisition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/Acquisition</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>9954476 - 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>26</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>9954477 - 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>27</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>9954478 - 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>28</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>9954479 - 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>29</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9954480 - 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>30</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9954481 - 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>31</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9954482 - Disclosure - Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ProductWarrantiesDetails</Role>
      <ShortName>Product Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ProductWarrantiesTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9954483 - Disclosure - Accounts Receivable, Net (Schedule of Receivables) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails</Role>
      <ShortName>Accounts Receivable, Net (Schedule of Receivables) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccountsReceivableNetTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9954484 - Disclosure - Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails</Role>
      <ShortName>Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccountsReceivableNetTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9954485 - 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>35</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9954486 - Disclosure - Inventories, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNetDetails</Role>
      <ShortName>Inventories, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/InventoriesNetTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9954487 - Disclosure - Acquisition (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionNarrativeDetails</Role>
      <ShortName>Acquisition (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9954488 - Disclosure - Acquisition (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/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails</Role>
      <ShortName>Acquisition (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/AcquisitionTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9954489 - Disclosure - Acquisition (Schedule of Acquired Intangible Assets) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails</Role>
      <ShortName>Acquisition (Schedule of Acquired Intangible Assets) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9954490 - 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>40</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9954491 - Disclosure - Goodwill and Related Intangible Assets - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9954492 - 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>42</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9954493 - 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>
      <Position>43</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9954494 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1</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>44</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9954495 - Disclosure - Long-Term Debt (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails</Role>
      <ShortName>Long-Term Debt (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/LongTermDebt</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9954496 - Disclosure - Equity-Based Compensation (Incentive Plan) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails</Role>
      <ShortName>Equity-Based Compensation (Incentive Plan) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9954497 - 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>47</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9954498 - Disclosure - Equity-Based Compensation (Equity Based Awards - Settled in Cash) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails</Role>
      <ShortName>Equity-Based Compensation (Equity Based Awards - Settled in Cash) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9954499 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments by Segment) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments by Segment) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9954500 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9954501 - 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>51</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9954502 - Disclosure - Income Taxes (Provision For Income Taxes For Continuing Operations) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails</Role>
      <ShortName>Income Taxes (Provision For Income Taxes For Continuing Operations) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9954503 - 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>53</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9954504 - Disclosure - Earnings per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EarningsperShareDetails</Role>
      <ShortName>Earnings per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EarningsperShareTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9954505 - Disclosure - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationDetails</Role>
      <ShortName>Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformationTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="rock-20240331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9954506 - Disclosure - Segment Information - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails</Role>
      <ShortName>Segment Information - Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</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-Q" isDefinitelyFs="true" isUsgaap="true" original="rock-20240331.htm">rock-20240331.htm</File>
    <File>rock-20240331.xsd</File>
    <File>rock-20240331_cal.xml</File>
    <File>rock-20240331_def.xml</File>
    <File>rock-20240331_lab.xml</File>
    <File>rock-20240331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>rock-20240331_g1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="498">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>75
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rock-20240331.htm": {
   "nsprefix": "rock",
   "nsuri": "http://www.gibraltar1.com/20240331",
   "dts": {
    "inline": {
     "local": [
      "rock-20240331.htm"
     ]
    },
    "schema": {
     "local": [
      "rock-20240331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/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-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rock-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "rock-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rock-20240331_pre.xml"
     ]
    }
   },
   "keyStandard": 198,
   "keyCustom": 18,
   "axisStandard": 19,
   "axisCustom": 1,
   "memberStandard": 24,
   "memberCustom": 22,
   "hidden": {
    "total": 5,
    "http://xbrl.sec.gov/dei/2023": 5
   },
   "contextCount": 152,
   "entityCount": 1,
   "segmentCount": 49,
   "elementCount": 359,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 498,
    "http://xbrl.sec.gov/dei/2023": 30
   },
   "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
     "longName": "0000002 - Statement - Consolidated Statements of Income",
     "shortName": "Consolidated Statements of Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "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-20240331.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-20240331.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
     "longName": "0000003 - Statement - Consolidated Statements of Comprehensive Income",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "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-20240331.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-20240331.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
     "longName": "0000004 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "0000005 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
     "longName": "0000006 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity",
     "longName": "0000007 - Statement - Consolidated Statement of Stockholders' Equity",
     "shortName": "Consolidated Statement of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-23",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-23",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.gibraltar1.com/role/ProductWarranties",
     "longName": "0000008 - Disclosure - Product Warranties",
     "shortName": "Product Warranties",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.gibraltar1.com/role/BasisOfPresentation",
     "longName": "0000009 - Disclosure - Basis Of Presentation",
     "shortName": "Basis Of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNet",
     "longName": "0000010 - Disclosure - Accounts Receivable, Net",
     "shortName": "Accounts Receivable, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.gibraltar1.com/role/Revenue",
     "longName": "0000011 - Disclosure - Revenue",
     "shortName": "Revenue",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.gibraltar1.com/role/InventoriesNet",
     "longName": "0000012 - Disclosure - Inventories, Net",
     "shortName": "Inventories, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.gibraltar1.com/role/Acquisition",
     "longName": "0000013 - Disclosure - Acquisition",
     "shortName": "Acquisition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets",
     "longName": "0000014 - Disclosure - Goodwill and Related Intangible Assets",
     "shortName": "Goodwill and Related Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.gibraltar1.com/role/LongTermDebt",
     "longName": "0000015 - Disclosure - Long-Term Debt",
     "shortName": "Long-Term Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensation",
     "longName": "0000016 - Disclosure - Equity-Based Compensation",
     "shortName": "Equity-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments",
     "longName": "0000017 - Disclosure - Exit Activity Costs and Asset Impairments",
     "shortName": "Exit Activity Costs and Asset Impairments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxes",
     "longName": "0000018 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.gibraltar1.com/role/EarningsperShare",
     "longName": "0000019 - Disclosure - Earnings per Share",
     "shortName": "Earnings per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.gibraltar1.com/role/SegmentInformation",
     "longName": "0000020 - Disclosure - Segment Information",
     "shortName": "Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.gibraltar1.com/role/BasisOfPresentationPolicies",
     "longName": "9954471 - Disclosure - Basis Of Presentation (Policies)",
     "shortName": "Basis Of Presentation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.gibraltar1.com/role/ProductWarrantiesTables",
     "longName": "9954472 - Disclosure - Product Warranties (Tables)",
     "shortName": "Product Warranties (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNetTables",
     "longName": "9954473 - Disclosure - Accounts Receivable, Net (Tables)",
     "shortName": "Accounts Receivable, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetTables",
     "longName": "9954474 - Disclosure - Inventories, Net (Tables)",
     "shortName": "Inventories, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.gibraltar1.com/role/AcquisitionTables",
     "longName": "9954475 - Disclosure - Acquisition (Tables)",
     "shortName": "Acquisition (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables",
     "longName": "9954476 - Disclosure - Goodwill and Related Intangible Assets (Tables)",
     "shortName": "Goodwill and Related Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationTables",
     "longName": "9954477 - Disclosure - Equity-Based Compensation (Tables)",
     "shortName": "Equity-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables",
     "longName": "9954478 - 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": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesTables",
     "longName": "9954479 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareTables",
     "longName": "9954480 - Disclosure - Earnings per Share (Tables)",
     "shortName": "Earnings per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "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-20240331.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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationTables",
     "longName": "9954481 - Disclosure - Segment Information (Tables)",
     "shortName": "Segment Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.gibraltar1.com/role/ProductWarrantiesDetails",
     "longName": "9954482 - Disclosure - Product Warranties (Details)",
     "shortName": "Product Warranties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails",
     "longName": "9954483 - Disclosure - Accounts Receivable, Net (Schedule of Receivables) (Details)",
     "shortName": "Accounts Receivable, Net (Schedule of Receivables) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails",
     "longName": "9954484 - Disclosure - Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (Details)",
     "shortName": "Accounts Receivable, Net (Schedule of Accounts Receivable Allowance for Credit Losses) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
     "longName": "9954485 - Disclosure - Revenue - Narrative (Details)",
     "shortName": "Revenue - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetDetails",
     "longName": "9954486 - Disclosure - Inventories, Net (Details)",
     "shortName": "Inventories, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
     "longName": "9954487 - Disclosure - Acquisition (Narrative) (Details)",
     "shortName": "Acquisition (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-39",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
     "longName": "9954488 - Disclosure - Acquisition (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)",
     "shortName": "Acquisition (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": "38",
     "firstAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-40",
      "name": "rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9954489 - Disclosure - Acquisition (Schedule of Acquired Intangible Assets) (Details)",
     "shortName": "Acquisition (Schedule of Acquired Intangible Assets) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-39",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-39",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
     "longName": "9954490 - 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": "40",
     "firstAnchor": {
      "contextRef": "c-5",
      "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillPurchaseAccountingAdjustments",
      "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-20240331.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails",
     "longName": "9954491 - Disclosure - Goodwill and Related Intangible Assets - Additional Information (Details)",
     "shortName": "Goodwill and Related Intangible Assets - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9954492 - 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": "42",
     "firstAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails",
     "longName": "9954493 - 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": "43",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.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",
       "rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1",
     "longName": "9954494 - 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": "44",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
     "longName": "9954495 - Disclosure - Long-Term Debt (Narrative) (Details)",
     "shortName": "Long-Term Debt (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
     "longName": "9954496 - Disclosure - Equity-Based Compensation (Incentive Plan) (Details)",
     "shortName": "Equity-Based Compensation (Incentive Plan) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c-81",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-81",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
     "longName": "9954497 - 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": "47",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
     "longName": "9954498 - Disclosure - Equity-Based Compensation (Equity Based Awards - Settled in Cash) (Details)",
     "shortName": "Equity-Based Compensation (Equity Based Awards - Settled in Cash) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "rock:AccruedEquityBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "rock:AccruedEquityBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
     "longName": "9954499 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments by Segment) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments by Segment) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "rock:BusinessExitCostsRecoveries",
      "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-20240331.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails",
     "longName": "9954500 - Disclosure - Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Summary of Exit Activity Costs and Asset Impairments) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "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:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-110",
      "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-20240331.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesofLiabilityforExitActivityCostsRelatingtoFacilityConsolidationEffortsDetails",
     "longName": "9954501 - 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": "51",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:RestructuringReserve",
      "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:RestructuringReserve",
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails",
     "longName": "9954502 - Disclosure - Income Taxes (Provision For Income Taxes For Continuing Operations) (Details)",
     "shortName": "Income Taxes (Provision For Income Taxes For Continuing Operations) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
     "longName": "9954503 - Disclosure - Income Taxes (Narrative) (Details)",
     "shortName": "Income Taxes (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareDetails",
     "longName": "9954504 - Disclosure - Earnings per Share (Details)",
     "shortName": "Earnings per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "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-20240331.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-20240331.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationDetails",
     "longName": "9954505 - Disclosure - Segment Information (Details)",
     "shortName": "Segment Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "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-20240331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "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-20240331.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails",
     "longName": "9954506 - Disclosure - Segment Information - Disaggregation of Revenue (Details)",
     "shortName": "Segment Information - Disaggregation of Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "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-20240331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-132",
      "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-20240331.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "rock_A2018PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "A2018PlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2018 Plan",
        "label": "2018 Plan [Member]",
        "documentation": "2018 Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2019SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "A2019SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/20240331",
     "localname": "A2022SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2022 Senior Credit Agreement",
        "label": "2022 Senior Credit Agreement [Member]",
        "documentation": "2022 Senior Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r17",
      "r542"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails": {
       "parentTag": "rock_ContractsReceivableGrossCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails"
     ],
     "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": [
      "r143",
      "r225",
      "r226",
      "r520"
     ]
    },
    "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": 2.0
      },
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of allowance of $5,578 and $5,572, respectively",
        "totalLabel": "Accounts receivable, net",
        "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": [
      "r225",
      "r226"
     ]
    },
    "rock_AccruedEquityBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "AccruedEquityBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "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/20240331",
     "localname": "AccruedExpensesCurrentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Expenses, Current",
        "label": "Accrued Expenses, Current [Member]",
        "documentation": "Accrued Expenses, Current [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r19"
     ]
    },
    "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/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "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": [
      "r27",
      "r28",
      "r92",
      "r144",
      "r427",
      "r451",
      "r452"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "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": [
      "r6",
      "r12",
      "r28",
      "r392",
      "r395",
      "r411",
      "r447",
      "r448",
      "r566",
      "r567",
      "r568",
      "r573",
      "r574",
      "r575"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life",
        "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": [
      "r107"
     ]
    },
    "rock_AcquiredIntangibleAssetsTotal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "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": [
      "r84",
      "r542",
      "r646"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r364",
      "r365",
      "r366",
      "r460",
      "r573",
      "r574",
      "r575",
      "r629",
      "r647"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r62",
      "r63",
      "r331"
     ]
    },
    "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": []
    },
    "rock_AgtechMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "AgtechMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Agtech",
        "label": "Agtech [Member]",
        "documentation": "Agtech"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance as of January 1, 2024",
        "periodEndLabel": "Ending balance as of March 31, 2024",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r227",
      "r231",
      "r232",
      "r235",
      "r640"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, allowance",
        "negatedTerseLabel": "Less allowance for doubtful accounts and contract assets",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r227",
      "r231"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "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": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts written off against allowance and other adjustments",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r234"
     ]
    },
    "rock_Amended2018PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "Amended2018PlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails"
     ],
     "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_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 expense",
        "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": [
      "r9",
      "r44",
      "r49"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive securities excluded from earnings per share calculation (in 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": [
      "r188"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities [Axis]",
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "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/EarningsperShareDetails"
     ],
     "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": [
      "r35"
     ]
    },
    "rock_ApplicableRatePeriod1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ApplicableRatePeriod1Member",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/20240331",
     "localname": "ApplicableRatePeriod2Member",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Applicable rate after April 1, 2023",
        "label": "Applicable Rate Period 2 [Member]",
        "documentation": "Applicable Rate Period 2"
       }
      }
     },
     "auth_ref": []
    },
    "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/SegmentInformationDetails"
     ],
     "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": [
      "r119",
      "r142",
      "r162",
      "r196",
      "r211",
      "r217",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r387",
      "r389",
      "r400",
      "r423",
      "r482",
      "r542",
      "r554",
      "r598",
      "r599",
      "r631"
     ]
    },
    "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": [
      "r136",
      "r148",
      "r162",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r387",
      "r389",
      "r400",
      "r542",
      "r598",
      "r599",
      "r631"
     ]
    },
    "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": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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": [
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "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/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "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": [
      "r72",
      "r73"
     ]
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BaseRateMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Base Rate",
        "label": "Base Rate [Member]",
        "documentation": "Minimum rate investor will accept."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r385",
      "r537",
      "r538"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r64",
      "r65",
      "r385",
      "r537",
      "r538"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r385"
     ]
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails"
     ],
     "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": [
      "r3",
      "r4",
      "r11"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Acquisition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ACQUISITION",
        "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": [
      "r117",
      "r386"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r67"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities",
        "documentation": "Amount of liabilities assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r66",
      "r67"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r66",
      "r67"
     ]
    },
    "rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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_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/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exit Activity",
        "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": [
      "r9"
     ]
    },
    "rock_BusinessExitCostsRecoveries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "BusinessExitCostsRecoveries",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exit Activity",
        "label": "Business Exit Costs (Recoveries)",
        "documentation": "Business Exit Costs (Recoveries)"
       }
      }
     },
     "auth_ref": []
    },
    "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": 1.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": [
      "r34",
      "r138",
      "r518"
     ]
    },
    "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 period",
        "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": [
      "r34",
      "r102",
      "r161"
     ]
    },
    "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": [
      "r5",
      "r102"
     ]
    },
    "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_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity",
      "http://www.gibraltar1.com/role/EarningsperShareDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "verboseLabel": "Common shares",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r544",
      "r545",
      "r546",
      "r548",
      "r549",
      "r550",
      "r551",
      "r573",
      "r574",
      "r629",
      "r645",
      "r647"
     ]
    },
    "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": [
      "r83"
     ]
    },
    "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": [
      "r83",
      "r470"
     ]
    },
    "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": [
      "r83"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (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": [
      "r13",
      "r83",
      "r470",
      "r488",
      "r647",
      "r648"
     ]
    },
    "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,266 and 34,219 shares issued and outstanding in 2024 and 2023",
        "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": [
      "r83",
      "r426",
      "r542"
     ]
    },
    "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": [
      "r29",
      "r150",
      "r152",
      "r157",
      "r419",
      "r433"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Axis]",
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r164",
      "r198",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r215",
      "r219",
      "r281",
      "r282",
      "r283",
      "r284",
      "r286",
      "r287",
      "r289",
      "r291",
      "r292",
      "r598",
      "r599"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Domain]",
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r164",
      "r198",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r215",
      "r219",
      "r281",
      "r282",
      "r283",
      "r284",
      "r286",
      "r287",
      "r289",
      "r291",
      "r292",
      "r598",
      "r599"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unearned revenue",
        "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": [
      "r314",
      "r315",
      "r325"
     ]
    },
    "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 cost",
        "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": [
      "r314",
      "r315",
      "r325"
     ]
    },
    "rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized that was in contract liabilities at the beginning of the period",
        "label": "Contract with Customer, Liability, Including New Contract Revenue, Recognized",
        "documentation": "Contract with Customer, Liability, Including New Contract Revenue, Recognized"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ContractsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ContractsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accounts receivable",
        "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/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate",
        "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": [
      "r14",
      "r210",
      "r211",
      "r212",
      "r213",
      "r219",
      "r578"
     ]
    },
    "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": [
      "r97",
      "r162",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r400",
      "r598"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "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/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "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": []
    },
    "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_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "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": [
      "r70"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DebtInstrumentApplicableRatePeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "DebtInstrumentApplicableRatePeriodAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/20240331",
     "localname": "DebtInstrumentApplicableRatePeriodDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r15",
      "r80",
      "r81",
      "r120",
      "r121",
      "r164",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r408",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r570"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r75",
      "r77",
      "r294",
      "r408",
      "r525",
      "r526"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r21",
      "r295"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r164",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r408",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r570"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r22",
      "r164",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r408",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r570"
     ]
    },
    "rock_DebtInstrumentNumberOfDebtCovenants": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "DebtInstrumentNumberOfDebtCovenants",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r22",
      "r56",
      "r57",
      "r74",
      "r75",
      "r77",
      "r78",
      "r112",
      "r113",
      "r164",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r408",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r570"
     ]
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt issuance costs",
        "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": [
      "r76",
      "r601"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for (benefit of) deferred income taxes",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r116",
      "r130",
      "r379",
      "r380",
      "r572"
     ]
    },
    "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": [
      "r368",
      "r369",
      "r424"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "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": [
      "r9",
      "r201"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r324",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r324",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536"
     ]
    },
    "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": [
      "r602"
     ]
    },
    "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": [
      "r329",
      "r334",
      "r361",
      "r362",
      "r363",
      "r540"
     ]
    },
    "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_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Quarterly Report",
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r558"
     ]
    },
    "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": [
      "r559"
     ]
    },
    "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": []
    },
    "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:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r177",
      "r188",
      "r189",
      "r190"
     ]
    },
    "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": [
      "r401"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Effective tax rate",
        "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": [
      "r371"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal statutory income tax rate",
        "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": [
      "r163",
      "r371",
      "r381"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r560"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "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": [
      "r556"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r13",
      "r133",
      "r153",
      "r154",
      "r155",
      "r165",
      "r166",
      "r167",
      "r169",
      "r174",
      "r176",
      "r191",
      "r229",
      "r230",
      "r313",
      "r364",
      "r365",
      "r366",
      "r375",
      "r376",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r411",
      "r447",
      "r448",
      "r449",
      "r460",
      "r507"
     ]
    },
    "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": [
      "r140",
      "r253"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "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": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2029",
        "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": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "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": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "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": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "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": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "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": [
      "r249",
      "r252",
      "r253",
      "r255",
      "r416",
      "r417"
     ]
    },
    "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": [
      "r108",
      "r417"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r416"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "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": [
      "r45",
      "r48"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r250"
     ]
    },
    "rock_ForeignCurrencyRateFloorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ForeignCurrencyRateFloorMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency Rate Floor",
        "label": "Foreign Currency Rate Floor [Member]",
        "documentation": "Foreign Currency Rate Floor"
       }
      }
     },
     "auth_ref": []
    },
    "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": 4.0
      },
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "periodStartLabel": "Balance at December 31, 2023",
        "periodEndLabel": "Balance at March 31, 2024",
        "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": [
      "r139",
      "r237",
      "r418",
      "r523",
      "r542",
      "r582",
      "r589"
     ]
    },
    "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": [
      "r106"
     ]
    },
    "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": [
      "r244"
     ]
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairedAccumulatedImpairmentLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill, 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": [
      "r239",
      "r246",
      "r523"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillLineItems",
     "presentation": [
      "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": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r523"
     ]
    },
    "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": {
        "terseLabel": "Adjustments to prior year acquisitions",
        "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": [
      "r2",
      "r588"
     ]
    },
    "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_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": [
      "r96",
      "r162",
      "r196",
      "r210",
      "r216",
      "r219",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r400",
      "r521",
      "r598"
     ]
    },
    "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_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "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": [
      "r1",
      "r94",
      "r124",
      "r196",
      "r210",
      "r216",
      "r219",
      "r421",
      "r431",
      "r521"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (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": [
      "r93",
      "r123",
      "r125",
      "r158",
      "r168",
      "r170",
      "r171",
      "r172",
      "r173",
      "r180",
      "r185",
      "r186",
      "r398",
      "r420",
      "r641"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (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": [
      "r93",
      "r158",
      "r168",
      "r170",
      "r171",
      "r172",
      "r173",
      "r180",
      "r185",
      "r186",
      "r187",
      "r398",
      "r420",
      "r641"
     ]
    },
    "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_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": [
      "r163",
      "r367",
      "r372",
      "r373",
      "r374",
      "r377",
      "r382",
      "r383",
      "r384",
      "r459"
     ]
    },
    "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_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Provision for income taxes",
        "terseLabel": "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": [
      "r128",
      "r131",
      "r175",
      "r176",
      "r204",
      "r370",
      "r378",
      "r434"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.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": [
      "r8"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "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": [
      "r8"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "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": [
      "r8"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.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": [
      "r8"
     ]
    },
    "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "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": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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/EarningsperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock options and stock units (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": [
      "r181",
      "r182",
      "r183",
      "r187",
      "r333"
     ]
    },
    "rock_IndefiniteLivedAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "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/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r251",
      "r254"
     ]
    },
    "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": [
      "r110"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r46",
      "r110"
     ]
    },
    "rock_InfrastructureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "InfrastructureMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": 5.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": [
      "r43",
      "r47"
     ]
    },
    "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Interest (income) expense",
        "label": "Interest Income (Expense), Net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "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, NET",
        "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": [
      "r236"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "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": [
      "r562"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "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": [
      "r565"
     ]
    },
    "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": 3.0
      },
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories, net",
        "totalLabel": "Inventories, net",
        "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": [
      "r146",
      "r519",
      "r542"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "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": [
      "r564"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less reserves",
        "label": "Inventory Valuation Reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r565"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "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": [
      "r563"
     ]
    },
    "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": [
      "r88",
      "r122",
      "r429",
      "r542",
      "r571",
      "r580",
      "r630"
     ]
    },
    "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": 1.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": [
      "r20",
      "r137",
      "r162",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r388",
      "r389",
      "r390",
      "r400",
      "r542",
      "r598",
      "r631",
      "r632"
     ]
    },
    "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/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r18"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Letters of credit issued",
        "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": [
      "r18"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility, 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": [
      "r18"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit",
        "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/AccountsReceivableNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ACCOUNTS RECEIVABLE, NET",
        "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": [
      "r579"
     ]
    },
    "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/20240331",
     "localname": "LondonInterbankOfferedRateLIBOR1Member",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "London Interbank Offered Rate (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/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term 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": [
      "r15",
      "r121",
      "r301",
      "r311",
      "r525",
      "r526",
      "r639"
     ]
    },
    "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_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LONG-TERM DEBT",
        "label": "Long-Term Debt [Text Block]",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r22"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r22",
      "r55"
     ]
    },
    "rock_ManagementStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ManagementStockPurchasePlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Management Stock Purchase Plan",
        "label": "Management Stock Purchase Plan [Member]",
        "documentation": "Management stock purchase plan [Member]."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271",
      "r272",
      "r273",
      "r328",
      "r413",
      "r446",
      "r462",
      "r463",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r516",
      "r517",
      "r522",
      "r529",
      "r539",
      "r543",
      "r600",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638"
     ]
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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": [
      "r399"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Medium-term Notes",
        "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/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271",
      "r272",
      "r273",
      "r328",
      "r413",
      "r446",
      "r462",
      "r463",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r516",
      "r517",
      "r522",
      "r529",
      "r539",
      "r543",
      "r600",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638"
     ]
    },
    "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MovementInStandardProductWarrantyAccrualRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]",
        "label": "Movement in Standard Product Warranty Accrual [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_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": [
      "r160"
     ]
    },
    "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 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": [
      "r160"
     ]
    },
    "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_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": [
      "r102",
      "r103",
      "r104"
     ]
    },
    "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_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/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "verboseLabel": "Net income",
        "terseLabel": "Net income available to common stockholders",
        "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": [
      "r95",
      "r104",
      "r126",
      "r135",
      "r149",
      "r151",
      "r155",
      "r162",
      "r168",
      "r170",
      "r171",
      "r172",
      "r173",
      "r175",
      "r176",
      "r184",
      "r196",
      "r210",
      "r216",
      "r219",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r398",
      "r400",
      "r432",
      "r490",
      "r505",
      "r506",
      "r521",
      "r552",
      "r598"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/BasisOfPresentationPolicies"
     ],
     "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/20240331",
     "localname": "NonCurrentLiabilitiesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "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/20240331",
     "localname": "NonEmployeeDirectorsPlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Employee Directors Plan",
        "label": "Non-Employee Directors Plan [Member]",
        "documentation": "Non-Employee Directors Plan"
       }
      }
     },
     "auth_ref": []
    },
    "rock_NoncashProjectAbandonmentCostsReversalOfCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "NoncashProjectAbandonmentCostsReversalOfCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exit activity recoveries, non-cash",
        "label": "Noncash Project Abandonment Costs (Reversal Of Costs)",
        "documentation": "Noncash Project Abandonment Costs (Reversal Of Costs)"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r69"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "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": [
      "r577"
     ]
    },
    "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/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "terseLabel": "Total consolidated income from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r210",
      "r216",
      "r219",
      "r521"
     ]
    },
    "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": 5.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": [
      "r410"
     ]
    },
    "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": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "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": [
      "r409"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "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": [
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r219"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "BASIS OF PRESENTATION",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r118",
      "r453",
      "r454"
     ]
    },
    "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": 4.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": [
      "r147",
      "r542"
     ]
    },
    "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": 6.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": [
      "r141"
     ]
    },
    "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_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "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": [
      "r7"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "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 loss:",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "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": 3.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": [
      "r23"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "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",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other, net",
        "label": "Other Operating Activities, Cash Flow Statement",
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)."
       }
      }
     },
     "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": [
      "r32"
     ]
    },
    "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": [
      "r260",
      "r569"
     ]
    },
    "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_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "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": [
      "r30"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "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": {
        "negatedLabel": "Purchases of property, plant, and equipment, net",
        "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": [
      "r101"
     ]
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance stock units",
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628"
     ]
    },
    "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": [
      "r82",
      "r312"
     ]
    },
    "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": [
      "r82",
      "r470"
     ]
    },
    "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": [
      "r82",
      "r470",
      "r488",
      "r647",
      "r648"
     ]
    },
    "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": [
      "r82",
      "r425",
      "r542"
     ]
    },
    "rock_PrivatelyHeldUtahBasedCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "PrivatelyHeldUtahBasedCompanyMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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_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": [
      "r31",
      "r456"
     ]
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarranties"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PRODUCT WARRANTIES",
        "label": "Product Warranty Disclosure [Text Block]",
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period."
       }
      }
     },
     "auth_ref": [
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279"
     ]
    },
    "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
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r10",
      "r422",
      "r430",
      "r542"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "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": [
      "r159",
      "r233"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271",
      "r272",
      "r273",
      "r327",
      "r328",
      "r357",
      "r358",
      "r359",
      "r412",
      "r413",
      "r446",
      "r462",
      "r463",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r516",
      "r517",
      "r522",
      "r529",
      "r539",
      "r543",
      "r546",
      "r592",
      "r600",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271",
      "r272",
      "r273",
      "r327",
      "r328",
      "r357",
      "r358",
      "r359",
      "r412",
      "r413",
      "r446",
      "r462",
      "r463",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r516",
      "r517",
      "r522",
      "r529",
      "r539",
      "r543",
      "r546",
      "r592",
      "r600",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638"
     ]
    },
    "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/SegmentInformationDetails"
     ],
     "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": [
      "r39",
      "r40"
     ]
    },
    "rock_RenewableEnergyandConservationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "RenewableEnergyandConservationMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Renewables",
        "label": "Renewable Energy and Conservation [Member]",
        "documentation": "Renewable Energy and Conservation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_RenewablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "RenewablesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r33",
      "r457"
     ]
    },
    "rock_ResidentialProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ResidentialProductsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Residential",
        "label": "Residential Products [Member]",
        "documentation": "Residential Products."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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": [
      "r257",
      "r258",
      "r260",
      "r263",
      "r269"
     ]
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total",
        "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": [
      "r9",
      "r264",
      "r266",
      "r593"
     ]
    },
    "rock_RestructuringChargesRecoveries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "RestructuringChargesRecoveries",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total",
        "label": "Restructuring Charges (Recoveries)",
        "documentation": "Restructuring Charges (Recoveries)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Type [Axis]",
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r260",
      "r266",
      "r267"
     ]
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "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": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r266",
      "r267",
      "r268"
     ]
    },
    "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": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "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": [
      "r260",
      "r265"
     ]
    },
    "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/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "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": [
      "r98"
     ]
    },
    "rock_RestructuringSettlementAndImpairmentProvisionsRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "RestructuringSettlementAndImpairmentProvisionsRecovery",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Impairment",
        "label": "Restructuring, Settlement and Impairment Provisions (Recovery)",
        "documentation": "Restructuring, Settlement and Impairment Provisions (Recovery)"
       }
      }
     },
     "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": [
      "r85",
      "r114",
      "r428",
      "r450",
      "r452",
      "r458",
      "r471",
      "r542"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r165",
      "r166",
      "r167",
      "r169",
      "r174",
      "r176",
      "r229",
      "r230",
      "r364",
      "r365",
      "r366",
      "r375",
      "r376",
      "r391",
      "r393",
      "r394",
      "r396",
      "r397",
      "r447",
      "r449",
      "r460",
      "r647"
     ]
    },
    "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_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Revenue"
     ],
     "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": [
      "r132",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r326"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_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": [
      "r129"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "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/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r156",
      "r162",
      "r197",
      "r198",
      "r209",
      "r214",
      "r215",
      "r221",
      "r223",
      "r224",
      "r228",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r400",
      "r421",
      "r598"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetTables"
     ],
     "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": [
      "r26"
     ]
    },
    "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": [
      "r45"
     ]
    },
    "rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Acquired Intangible Asset Amortization Expense",
        "label": "Schedule Of Acquired Intangible Asset Amortization Expense [Table Text Block]",
        "documentation": "Schedule of Acquired Intangible Asset Amortization Expense [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "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": [
      "r35"
     ]
    },
    "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": [
      "r35"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "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": [
      "r64",
      "r65",
      "r385"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionTables"
     ],
     "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": [
      "r64",
      "r65"
     ]
    },
    "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": [
      "r115"
     ]
    },
    "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 Loss 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": [
      "r576"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionTables"
     ],
     "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": [
      "r45"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r45",
      "r48",
      "r416"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "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": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r523"
     ]
    },
    "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": [
      "r523",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591"
     ]
    },
    "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": [
      "r16",
      "r89",
      "r90",
      "r91"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Product Warranty Liability",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r280"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails"
     ],
     "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": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r266",
      "r267",
      "r268"
     ]
    },
    "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",
        "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": [
      "r50",
      "r52",
      "r53"
     ]
    },
    "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": [
      "r51",
      "r54"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reconciliation Of Sales To Earnings Before Income Taxes by Segment",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r37",
      "r38",
      "r42"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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": [
      "r330",
      "r332",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Management Stock Purchase Plan",
        "label": "Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]",
        "documentation": "Tabular disclosure of employee stock purchase plan activity."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "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": [
      "r48"
     ]
    },
    "rock_SecuredOvernightFinancingRateSOFRMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "SecuredOvernightFinancingRateSOFRMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r555"
     ]
    },
    "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": [
      "r557"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r193",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r224",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r262",
      "r268",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r523",
      "r561",
      "r642"
     ]
    },
    "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": [
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r208",
      "r213",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r224"
     ]
    },
    "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/SegmentInformationDetails"
     ],
     "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_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": [
      "r99"
     ]
    },
    "rock_SellingGeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "SellingGeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"
     ],
     "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": []
    },
    "rock_SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "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": [
      "r8"
     ]
    },
    "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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited in period (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": [
      "r351"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number\u00a0of awards (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": [
      "r349"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Weighted average grant\u00a0date fair value (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": [
      "r349"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MSPP liabilities paid (in thousands)",
        "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": [
      "r353"
     ]
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "To be converted to shares (in units)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Converted",
        "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Converted"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Target amount granted, as a percentage",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Units To Be Converted, Percentage Of Target Amount",
        "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Units To Be Converted, Percentage Of Target Amount"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units credited (in shares)",
        "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": [
      "r353"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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": [
      "r330",
      "r332",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares authorized (in shares)",
        "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": [
      "r541"
     ]
    },
    "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": [
      "r60"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360"
     ]
    },
    "rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": []
    },
    "rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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/20240331",
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Grants based on targeted thresholds, percent",
        "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/20240331",
     "localname": "SharebasedCompensationMeasurementReturnOnInvestedCapitalMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "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_StandardProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Standard Product Warranty Accrual",
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r596",
      "r597"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyAccrualPeriodIncreaseDecrease",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provisions for product warranties, net of reductions",
        "label": "Standard Product Warranty Accrual, Period Increase (Decrease)",
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "us-gaap_StandbyLettersOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandbyLettersOfCreditMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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": [
      "r0",
      "r594",
      "r643",
      "r644"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segments [Axis]",
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r193",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r224",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r256",
      "r262",
      "r268",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r523",
      "r561",
      "r642"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r25",
      "r133",
      "r153",
      "r154",
      "r155",
      "r165",
      "r166",
      "r167",
      "r169",
      "r174",
      "r176",
      "r191",
      "r229",
      "r230",
      "r313",
      "r364",
      "r365",
      "r366",
      "r375",
      "r376",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r411",
      "r447",
      "r448",
      "r449",
      "r460",
      "r507"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r165",
      "r166",
      "r167",
      "r191",
      "r415",
      "r455",
      "r461",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r489",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r547"
     ]
    },
    "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_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r165",
      "r166",
      "r167",
      "r191",
      "r415",
      "r455",
      "r461",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r489",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r547"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net settlement of restricted stock units (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r82",
      "r83",
      "r114"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net settlement of restricted stock units",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r114"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r13",
      "r82",
      "r83",
      "r114",
      "r457",
      "r507",
      "r515"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "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": [
      "r13",
      "r82",
      "r83",
      "r114",
      "r460",
      "r507",
      "r515",
      "r553"
     ]
    },
    "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": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Balance, value",
        "periodEndLabel": "Balance, value",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r86",
      "r87",
      "r105",
      "r472",
      "r488",
      "r508",
      "r509",
      "r542",
      "r554",
      "r571",
      "r580",
      "r630",
      "r647"
     ]
    },
    "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": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r535",
      "r602"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r535",
      "r602"
     ]
    },
    "rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20240331",
     "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_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "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": [
      "r68"
     ]
    },
    "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/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r535"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "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": [
      "r535"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury\u00a0Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (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": [
      "r58"
     ]
    },
    "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": {
        "negatedTerseLabel": "Cost of 3,797 and 3,778 common shares held in treasury in 2024 and 2023",
        "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": [
      "r24",
      "r58",
      "r59"
     ]
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Type of Restructuring [Domain]",
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r260",
      "r266",
      "r267"
     ]
    },
    "us-gaap_UnbilledContractsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnbilledContractsReceivable",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails": {
       "parentTag": "rock_ContractsReceivableGrossCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofReceivablesDetails"
     ],
     "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": [
      "r414"
     ]
    },
    "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": {
        "verboseLabel": "Unpatented technology",
        "label": "Unpatented Technology [Member]",
        "documentation": "Technology-based innovations or scientific advances that have not been patented."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "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/LongTermDebtNarrativeDetails"
     ],
     "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/EarningsperShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted (in shares)",
        "totalLabel": "Weighted average shares outstanding, diluted (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": [
      "r179",
      "r187"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.gibraltar1.com/role/EarningsperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Diluted (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": [
      "r178",
      "r187"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares outstanding:",
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "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"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "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"
  },
  "r24": {
   "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"
  },
  "r25": {
   "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"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "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"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "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"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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"
  },
  "r68": {
   "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"
  },
  "r69": {
   "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"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "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"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//805/tableOfContent"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "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"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//420/tableOfContent"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "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"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r559": {
   "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"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "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"
  },
  "r644": {
   "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"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>76
<FILENAME>0000912562-24-000028-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000912562-24-000028-xbrl.zip
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
M2!*Z7 I%?\2C'/;T@2X9, P&NR?=&(ZMD@S'!7224-9+NYY%JW+NEF4&<5_
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
M/[/(> U:K=)6U$_:XAX_S5*"3WL4WF+2((6 4;:<!XS088$2DS7G(9#M;Y7
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
MG=NNU+V30/_I@I(C*9IT]R IQ@?KHW3W3>K^]4J:4HW&:E'GHHL_*RU-7R3
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
M7?*6<HPHE7:KOGC=R$F#%U&)>[ON/X>F+FSSEM)0A!/JXOZH./P">1TE "<
M)P!7BE%':F-UO9 X<S967I?J;-I3IBBMO(W$.3$8-DW5VQHF/.IT!;IC4Y2X
MB3J6SZ&D5=JJ)K>V+U!1+ ;Y3I\5/"MX-J_;MT">U?$J56ZUCI9G.5%?1+CP
M"80+ZT6$"ZNJ"!<6X<*G'"[\M7/3N;VXDA[_>G75?>1TQ3.AP;)$WTP*9]:X
M9J0$DI(LCQB>DOK:"JG?9L%\*5&]^XV/!?%1K44B)$^ ;+U>55N-8F)1]6I3
M6QN+FO%[0TM_R4:+:JZ<:IM U'(%Y$TB3I%D3R\@\9*:%%/YID$P&Z%8#"WD
MB;+@$E!IZ0I;4T@FJ(SG*#9V>7=^PW0 =H* ALO;3V_,77F''6ED:W1O&4J$
M@7FK&D.'KB*T/<I*5H_G@@1]"10RR<0_Z+]&]@MQ(HT]GQOC:#UL1^4FT]>X
MR8 (.JZ%_[F:D$(GO""^C]Z-OQ-G1/,ZS(Q*6]'K<KUN<%T+IE!7M>"&,G"#
M<0!NJ%?:K9:LJT7U,-V6&?:JDTS9\_'S9SCX7&FROB?[HY*.:<*>PD#RP0@!
MS(*9+TLN#=%G11S'>R6NR1Q8?RY0NG:2B;]Y_J4W>@I[(R=9R,-X';$VE9>N
M&I6V(1N-Q;*@['3/M8TU;+'3;32C;2Q>KLB JF!(3?1_.^]SOL1CCG4MD@ 7
ML'1+PPT1A7E%6DUN-;8N[2RB6;FAGW6<7QS]-#"71M5EPZAQ0C_';NE=NR^
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
M_).XW\C#A,8.3Y3<K-2HM%LM65>W+E\C[C^X(; Z3P369+6VZ[4F)P1VI(;
M2IE,L3)=3QJR@WG#$S*"X+D&(+>\T9-#([ML.R4J#7('8*X_'PHF99<T.D^2
M!B_Q];I<KV]=D*98+!_(%!)\+?AZ4[YN<,37319;H;>**M9Y0*YFNL>G$,O[
MPG\M^Z7]!?Y)5CP@/IA.[-6-678R 6[4WQ>UJ$@MCY1*Q#2] ;SQ':TYUPMI
M((4>4@J#"ICO5A)#0!Q85=Q?,*B.,3*_P_@-NEIM&+"*H1>5T#CWJ4-"^X5^
M?K6ML)_0Z]2#,;)JDT?($RQB%"Y_Y+#@J\_"8/I?7".2METS=**JI*<99EU_
M4DE3;UIJ3U%T13&;FF+^4U,JR4-]/UGWD#S3LR>?DE]GI ?;.B?.*WD/D+RF
M:0D(:0[:\X!:"HY>K\CT-@!'1,K X1[6G /D 5-2'T?!2LB!5R#U?91Y?UJ/
M#C"5N\BZJ$I?H+ADOG323D/U 0@Q;=^5]O?KKP^=FV[G0;J^O?SYV'VXOGJ4
MX>^+Y5QZV 5?W-T^WMU<7W:Z5Y?28Q?^\^/JMOLHW7V#3W<7__/7NYO+JX='
MEE30^"Q=_>WG=?<?G.[E@^U*8=\;P1Q6\)'718Y<,K)LD.;Y5LB.L8F 9L<F
MK-0APX">)W]\3H+K;)>]F3WT.3[I8JF.PFG>>L;W13_'<JO5JC8-#457;+O'
M+XZE6A5V\FGQ>U6KUG4M]:=:54G]?ME41E5O-G/-M/Q[K6D4LJ9ZM6ZT.%M3
MHUIOZMRM2=7SS;3[-2E*M:XU.%L4CT3.(T$IM:K>6(V\V,\XI_J"N5%99MUG
M3*,7P\2PG,.X#[D7HXXLAT*,$@@5HS@<)0A-C!*$)D8=SRA!:&*4(#0QZGA&
M"4(3HP2AB5'',TH0FA@E"$V,.IY1@M#$*$%H8M3QC!*$)D;MC]"61L&+4$,N
MH[!$J&'6-8E0P](2.8\$E2'4,-?YGOPL A+%,,Z&"8U4C!)H/]51 NUB%$>C
M!#F*41R-$N0H1G$T2I"C&,71*$&.8A1'HP0YBE$<C1+D*$9Q-$J0HQC%T2A!
MCF(41Z,$.8I1'(T2Y"A&<31*Q Z6,*Q*Q YF79.('2PMD?-(4+N.':QM&CS8
M6AB6TD0@$N&[K)S?7%<@-VJMX@T&GBL]AI[Y:VDSJXP;AV&^]QK]K98)"!U8
M(5;.)LZ7)_]3^Y[8UMFU*UV0H1W"=Z<*E@<:$OC2DJZ(CTW/EC?7/'9(=$QS
M-!@YV!6 4<A=V*<^^POX9^C3/G4#^X5*-UZP-9!*)3ZZV/YPY+]'W2I.6XIT
MO3 6( P.?<\!=3P8UW+_U\@.WS, )]OQI!C;Q[;G:0?"(\ ?^\2G6?@MTT:/
M'%B=@3=RPP*8\Y##RHX$0;$'I-B<WK^B&MCN'W!?B4-<DV)SQ$MJTL$3]25-
MD26UIFK;-*SEO*=T-N L[106,-Z<;Q;67-,LC)E/[+R/>/MN% 8A<1$4N7N!
M*96VILNJLMC//,':#J"4WD]ML_:E7'0-7-$\=[<$S@?S9V\+F'O39>+FE+Y_
M:UAY6FF/E/4T'E611U7!H()!!8,6S:"M_ R:\X35@'LU5:ZKBN!@P<&"@XOF
M8*6V<Q;6*^V&UI0-1;"P8&'!PIEV^R$7#ROS/!S JN&O'3"S46FKLJ+H"ZS\
M\=B82OA95OM9%'7UR9%<-#&BB[TN\40Y::X..J#<:#3%\2&.#W%\%']\+##R
M[HZ/1J6M&+JLU1<=,D=W@ BV.C:VRL-5QL[MJF:EW5)TN=42!V-V#M[Z2K''
M_L?3E6(Z1FYI*-FNZ0WH1A>(*=OD0W==1G]-55$_YR3#=%SN[*R8>UUN8T/@
M1.!$X.3H<))+5]=6JQ4@]:^9T,>XUMP:1:O25D&AT.L+"H4@&(X(1C"QP(G
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
MG>6\ECG V8Z#PM"*7X1L+"ZC!$!)(1EBYQ?+GMK4]V4-DK;U5+0CPRPH4>8
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
M4M3_<OAFEE7P*AZPF67)78ZM#1Y'G!F/-=#SBBKE\:'_KZ!SL'EUT].-1N]
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
MWJB6IX?2@YK'MQD[!KIA6IV]DX5>OR-JJ6/LBEC/G5B+##O?E5A-%.B=SK)
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
MW5A :9#%D&5#0<5NR-*H8WIV1S>[97&O5WV"Y>ERX"ZX->1^ *DZ+SB*=MW
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
M?@8)H!GUZ_^N:;<.O"X:T;WUF8#3>HI!Z9CAYG3BEQ0"C!@V"SR7J/%ES%V
M'IX7'H*K(*2:>9'XX9KWQ* 914#8@)"<<%^*!, P$F, 68EFL!B>&P"#9]V)
M6A*$'<!!'&^*^\ 5MD!UQ(^!/1QR1!5@(C;)BJ'O3>1U(@CH;D"ECD8C8,BI
M]%@G>T"N ^+ LT)"U[1[ /\@WCIBL68/]V$0NY\9+PC6!"T*.9WV8H,>L?5Q
M"*E!__H[W"[ "X"UC)Y_CVDA.9J?W6:04&6?]@H\6HB(X<H?P%N#J!_P/R/<
M,9S#]@; T7^U$8YKR58GG*4C"QR&,^"K@96 _ ,L!/4SPITZ-B&EYVZD)" ^
M=[8.6C%I3=AW'FMHP,S9=U@= ,:"^*(&>!WT-T(K74'<[@MM#H_R'2D*]#)0
M2P5SA]U'4_KUXD\1='BV"!ZV\&6NZR% Z'T95&,N<M5G.Q#,P*,/<K:"7X'>
MYH @6-;SLG=4 RT<9;D=D&A/[W*8D9YX+'S1%"[0C^\QX1A"3Q&Z8*RXXM/R
MO:&/6@R^-T8:^:9EWJ(#Y!S\N5P&U@2H!Y$U%J 5RHNX#D#"9YN_B$<R6@.
ME]6V,1M(M3^^W;#62@#=1L ?P 52$RA6F@V2I0""9EGO!!@]2AT=\=("E=@B
MOH=< 1.&&3(Y4#N"0.H6>F8=\0GRP("/)O&MSOUT\6$=;W1"QAWAH=SI7X,Y
MS02MFH0#P@6,/.9(4@"V"U+)#L9SIPAA<2XQ#*0SJFW/7*A);B (!;^:?R.?
M3!UO!E*)%,($: ,^Q(VL!@%B!\/7XWOP($@L5$R?\Q/0WH8V,9F<1Y+B^YJ6
MNX6UH%ZU"3B_-^%"<J5B)/O39#/)^PO=X9;G7[&/C9#( B(VJ]9=AINSP\QQ
MI&T)I#",''P[J)L<29MD"7]F3B1^BL@A;HOU;0>5"<F;4XR1:P:)R(WWB1K5
M_!Y!$[.#'*:QI0>O>[69TYQJW(,9MW!#YJB5QWVRE@W^:O?!V@>^ .I6K /I
M\+=5T][@S5W)J[MZJ]F(S@YG X% ;H16(O!$GZX94.+9!MF+V !_#R)+WG^
M $$K(^8L?CS"1T-7 SH,_'10#7 O&L0BN)@]-VP$L?8[L*]*RABI2\8F(&J
M0%ED3 NI'YM:GN-X+^0D$KHN/DGJDB2J]RM/+Y,#KK&\ZGVCG7M^\1&H [#4
M^VNC>S3RR(<(V7'M7T[N0IT#C=&LM?#<.;.D%$CW!>GRR"D%T_U@NC"92H%S
M/W"N&&!5(5&"$A5U/=@&:(X^*L\V;!=>A4+D"X4Y;JFZD&5\\8MB5WL#6ACS
MW\8V*2R$_E X6AA)>T*HN!-8BMPJZ%;%UZ$!Z4<V6MW/'.P)8J&Z-G3$UZ1I
MDE<7_>7XU!@57'N"*@+9R+ 7,+4<>N/+V(-?,_&/@8T:2#]"M5./->S0%S[
M.97WK\&<Y;.@*$AE)"")ZG+0/@+FST2Y*>BV2Y=^RIL,HBFY?QS/0G7'YR,Z
M@CBN&Q\HO=PX2 !0M\D35"T=Z#84(RU%^%3.M6SJ\V:!T(W05K!],"A L43+
M@E11-$Y]&_T1:&:\ /;,KD,:FYFJH*0M97[CN3Q%)31J18J"]&38/V"I(:JD
MNG3UH3L%KT.88_A$R+DK?#KPT!W8X0,F?GTWMETV;X;NA8K:'N@P;W1M1(P+
M2@]IKTX/49D>E<OT>'7.EF_J/XB8TQ,Y64^MVUS=5,7#@)R2#X?H#A>A@@S/
MFF-K^%5JDB6.3@VC#>@-PUP"'X-+(K8Y0!;O1Q2<BW^.S-0AAQ3I-MK$&T2X
ME@Q/<1F73<()?\Q&8S"R/WN^!>O]QOJ>KWWSR5V/J]["GM]<_?'YMV^W5V\3
M9]9'/F5^&(>/[H1^Q.$T\.CCQZ]W]&AH7P^BR10EDU!C(N2"SZ#UX$>#B *D
M;ZYN/[Z[^\='=*Z0MTU&*W0-6.X8/@-N&PLED)JFKLE&$9S\@P,;F),=C./@
M?PK-,2.WKGB6H@,@P*9A#$;/'7FTC04 VH$&>"$#C;1&)@&$.7  5P2> B_R
M8Y=.#&.*1Q!XDW@?!;0HV.V!R+-#/I&A'I]3G%WCMHC^@X;',]Y$E/D@PRF.
M-4'IB*]W!^\P N*%PKQ$91>^"\BI;0^'08Q=<C\U[3]!'7U&J1^@^BEN? Y*
M,8 H_$.A<UB"_^!61 X7P,1EI3G.&$'-P9&Q=E0?V NSZ5<8A015.;('Y'%/
M,&\>:YY\BB?(.#V"%*-&!$=BJ/03L%1$G@"0!?K3$I2\?[A]*T*L]"A&"GX
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
M;_QGVX+3Q5(HF%,*A+X% G"*+TMH,4MP/A$9L60DR93@_YK+N_,8MHZY#B]
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
MW7/;-A)_SU^!T\OE9JK(DK\]<3JR$^<\XT0>V[GT+0.1((4K!:@ :%O]ZP\
M29$4/T#(<L,KU8?4(K&+Q?X6B\4"(-[_^CP/P"-B'%-RWAN^V^L!1!SJ8N*?
M][X]7/5/>K]^>//F_3_Z_=\N[F[ 1^J$<T0$N&0("N2")RQF0,P0^$[9[_@1
M@ML "H^R>;__09-=TL6287\FP&AO=) 42]ZR,\]Q#PZ'1WO]/??PH']P-#KJ
MGY[ T_[IZ;$[=4_WO</A_B_^V8%S.#T^.7+[SN'Q7O_@9'@B2XRF_>/#HZ/A
M"+IHY+B:Z3,_X\X,S2&032/\[)F?]V9"+,X&@Z>GIW=/^^\H\P>CO;WAX+<O
M-_>Z:"\N&V#R>Z[T\Y0%2?G]@7H]A1PEQ1EU\L5]/&4P$) -WSET/E -WMO?
M'R;E%3=<PQ\3+B!Q5OQ=P?IBN4!\6$XDWP_4>U61U-^P/\I5Y8H56;:>PT'T
MLE"+N9)1?V^_K]H#A6!X&@IT)9'^B#P8!K*RD/P1P@![&+G2C *D#"57(/-:
M*LE'XBN<([Z #FJDQ@]O %#XXOF",@%(@=B#?*J%YDPHLOT>B&SAACI0:!-7
M)7FBD4+Y 0H$5[_ZZM>[9^[V!LUK#7G?AW!A57.6)JH]?F(C0<:PAZ>GIX-G
M9:GE$I0:GB[?5W_VAR,)L$6U51;<O&[YJY_0;4.&M)?:R9#0O5"&TDY990LF
M2OV;OU2,5;>U%B.FM!*CW-<TQ"(A4" <VE3(D?/.IX\#%^$F_6^]N/JCI,=!
M0JC0].I)_&RQP,2CT0/Y2-G-66(\=\A+/'!A,"GIH?I_9Y YC :&[CQ8,+I
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
MG&JZ3':*[<QO*YC_?*MK:&R'>\5MG*]K;#L+JX+L#CF4.#A G'K)XM;2HZQ
MJR>2F/B"7D%'ETJ_FZ>&-D\2O9(-OI*,1BLM)'8MK#2561GJ2FJ]M:J,32(Z
M$!0DPH.<]" 6OYNVG-FT?\OH(U;W[EQ1EGDL?TE]21V&4HV31;RT:V^1+Z[)
M:%<E7\+*GB98U0ID1?EWZD%:-4CK[KQ1;)ZJJ6-BA+*0I\U#V?4\S=HI#_O1
MH8*!$9="4K3LG$@'$2D>\[#&I)J%$95"7K/TJ,@.%J53S*'O,^3'FZKBG:;;
M0*N>LQ'$0FJS#$1=)%--="XAVBS[-P?X_2!_UU'T.W<?DKH-*;[F3<.O;F+Y
MH3+[UX0+IJ\J&2\6 7;4OOP[*- M8IBZ'^D<8M(#<"I+04><]V1AU-,W.YWW
MFM,3M2XU5?>[1/3Z>KVSA2[SH&]M<<,HKN@!'LK*L C5K\^,AHOS7E0<"S3O
M@>B2E_2^O3-7UW$M7RI.Z850A>:.'4=6[E9^@"YMI <#OFJEB<S<MNC*-)&\
MFD:?V#_O.?K 0\,61T_FE$A39LL&S;T(.2:(<RGM%!,MK)HB^ 3_B=QK5RT
M>!BF.U+J]DOJJR")?PD76*@K"RI4]9I5;JYF%TU?3\MW2-F_(T(FA8V2G+HS
M$#>=G*W":SVO?$1L6:G!3=G9=+"_4CWW*) .R_^,B)PW!+(98W<N?9QJNPI2
MXW7?+TBM*50JQ8Y).WS-:&]XHA;7BDW+>M!"L58(?R<5_:1/\]5+7RS7"O'O
M$<')V;:QC ?T:Z.)U="THE4RUF$P<0ZF'E->N!7MR <-T6KBQ%-/U45I!.KO
MC58TJQ&MQ4!AX?,P$<A'S&+<53FW.$>HO;3^:IYAX"RE::MO'_L".3.#@\N5
M:84!ZJGX=#V.&ZM3ZKXN.EVF16[A4H^_:AE3_R/C6CWGD.J-0MQJE[+M>K:N
MO>A)0M1L5!N-&KK7M6'.0-<*RRB;P0P-+:LC:46C9$2)=>0-@_B3#"6C^GH,
M6D71BA9]@01&/4C?EK0Z&%8:;>5:UH"R%2TL=QU?$%3Y#U7T#LEQG4R(.G[*
MA2P6S9+J;?6E7%NAF@<J):K:&2^GZN$\U-M/L]M+*^UA,V9MG?#?(T<"Z4YD
MW$#4=JPK.04GCIPX*==T/[FZ,YA'4_)6V,%72AS(9])!_1<Y8CR%Q*5$%8G#
M)]D*#H.)IW]6&H EE[9&8KFLP:7LYCYJ$G6:R-K:7+4>J9KS'8O99<@%G2.V
M6N^^)DX0NK)!7]%34C#. Z>YJ$J5;(/U"]3VN@ZBRM-I-UB3_ZRE:FE>SIR;
M'C]COGEF.Z+>@BMTQ9F+Y^K>XB@$S[=8BB#MK8GSC[?H3JJ.C94<^=!?2'M
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
M4(]I7?@N*7G'^M[0FYY^7G]$:O;G[_X/4$L#!!0    ( * ^H5ATT_44 C<
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
M-:+2 5F"NK,FC*9)M!0F+,V?EBO.P1^;#?=ZA.- >KU9MK5WNH_ER,C.0_]
ML]WL1YCAO%Y:<I5<1LXH=+=,1Q&8!^E8=,[F;!,JV;H(I.T(#G4HY1 2;/T6
M;"^%AF4%T\GLY#V,3A<@A!>"QNV8$+7:1KC"8LG 4C ^D_,-4%(7/=*W7M(B
M_?1-AU<>^ 3EL[W!&Q81? 6QK)WK F.34TY=^&]?DWC_>:8=C'^=OATLU\?K
MNRJ"#$DJ@'KB)M*RKK1B/G%D(L:0 !S]T:G<]- $KCF%U)Z_30S6F+=?X(_!
M^<7Y$DCMRB$U!=2HT-#\7S@+G":4P@$,1:<&;0OFKCQT?RFEG<P^;F&S'@HV
M=UY%%NDM<>(LF"2R8SDBK2,A(0LB)^:M]2D*!SJTSJVTPK[_K.1C"8*V(;^7
MJN/1;$*(_CF8G;VZF,[&YSAY,X X&-:LGU$YA.P,"SI%IK.TS&,$)I-US@D+
M7+0_[7@'H"<KMW8T-5S%:FKP;F2O1VEX43/2O^+OJP]^M>B\Z.+?F&D>UUJ*
MDIC09!.M$F?>>7H/ G"4)B9=KB5?;R8E&V%Y<@([!(=K(YG]Y+Q/KE5@[I3U
M/A&]YKVO8WW.?#]GOH_#AL^9[R>1^7Y.$#[@!&&SO-)S@O Y07A4!#XG")\3
MA,\)PN<$X2/V%9\3A,\)PN<$X7."\#E!V%N"\&5:' >D+VI1&'O7US5)$G;&
MVRA-^,/%E+0SG5YZ[C<Q\6A)/#*R;.JZ%'5@7JG(@M0YEJ3I\:T/A=^%9^>:
M]W2&^6*(;\LM3YG^\.723XO@7H2D4%-<[TK)]4(-8+[V> @R<QET%%":'Q+9
M$..^TG/-='+C6$B?I!PZM7:']>;AJP,+J$5FLCC-=*(0)O#@:,I.(4<=?0JM
M,^MKH!RL]WBO](_;T]!#PZ?;8-7_G" N^^EU =A3C_)[P1VF7WD3*CO(8W<>
M#B(8:T.D_]?,\D@SLD7%HA'(,/(D3:8_4NMTPH&$<D\W\\/H9!/SMP[&WDT&
MGV&&PR__#X?YMQF<_;!JD0&C+\NL6>V_F90&9C30Z!U%C"!$8I AURO$BO"N
M4[35X6'[#Z<:\S/NT;@]9'-6HR=0<3":AX[UFJ$!??O\AWDGH(*3"69Q BY
M+,JS IQ"-N\#P73DOO$8,3BO96[=.&P3?$>AG39^;F^T]""AOX_'^??!<'CB
M(4:.0=!8>;WMP2*CGPVCQYMHI VFVX[$!O)8/?L14;^5.=<N"_TE2%:^^+B\
M' Z7]RF.R^P,WRW/[-/LE_"*:N=__3,,)O,3_/0/IU.<39>S;8917J60!CBE
MO[LXQ]PF^[)?K*U3.P>T]#[R1D9JSU4FG3N3Z@U2E@'XQ(15(D>N0O2/.F_$
MN9=:0&8B:L>T)@\S!B[I9;>)RPA*Z>8WSCW$O-$F.MDY;[0)*<>>-\JFD'UX
M6/8@+3'3:C1OG%X4:E!DQ-8">^AYHXWH[Y@WVH2&@Z0!N@!\SAMM3.7&^8!M
M>#A,WDCK9%0$ELI\"T]3V*IB8B%+"HJY19E:[W@\K+Q1OSK9Q/R'R!NEE$O*
M1A*J;)F&^05N2*,O@-99;8,.]SGQ#SIOM D_F^:--C%NPZ!_CN^6[,2WC?W7
MF5R901G4=;1#V/'/\>1?@]'ILDOO"87*P6B!K!3.:^1K*&BVACD=?($8T$?=
M23/]83P*J>WF%A\3B_M):G89V<O;1O9N,B9'<_;EW1!&,_I$;3SWJ7KK)]P;
MI6IG/ZEK_UT3Z.5S0C->@DZ8O8/FM[WM96"/0-_'*X0>_;06@WP]FL'H=/#U
MP_,;!#Z>P>AK5I(6KD*C!>8!D#C1G,6H*% RV8/(V2G9NH/N7@?XK/X]"*.'
M^X]:#G;QD1,K=*;%BLR>Z[Z*3C0B[R5S H03QJ?^\B;M1O&LYU84]W O4\L1
M7?K-27!H9=&!95DCC^ 4"_5:364]Y((E4;APQ,J]])MG^38ENX<KIKXN "Y!
M3L5%AJ70 L"381&48YF'6FN78K'86'2/<-'>RIP]W++44JV_XNRDJ!!"LHHI
M5V]D5J(>?0[(:(PEFVAYT:TO2F\\A$<DLD.2N_9^I+V4*BQ'<MV=;5YF<,]S
M>BP1V&2$^]C>%\77W3+/)*9:QB(S\]PY%HI/PKJ@2]C#)L%7/'O?W@])@G<.
M6!&<WE,H@@5.R[.((%!B;0+1^J;F![F]OXE.=M[>WX248]_>]YJ7Y Q%+F@D
MT]( "P(CHPA<:HO ;7P^%K(#_1VW]S>AX2"[M5T /F_O;TSEQMNVV_!P$,%P
M>AFLDH:AXD! Z_U%(@1& \C>:!T%;WV6_V%M[_>KDTW,?XCM??0:$I>66(R1
MZ6"0@=&9.2\<#X  7-[G/#_D[?V-^-ET>W\3X_:P@_ISM2^^&7R^&4C\\.47
M^)_QY-40R#CSPU%H0^!!,*'J8JI\85"ONB]*Q 0<I!&M(_L-X#T)GZ0ONGK8
MI[D#ZC>@O\+YUT.4'>#VY+5L"/4P/DQOU'>76#/>>O!R-H6MG-->9<XL!)K4
ML995\5(O_DZ80D1A7*>&E@]-9O=X0,>JLDWHZD%='R>0\1PF_YHNEVT>3)1(
M3H")F&G91L=\I$E<>[36DINHFS<_OHYA_ZY2KZ2-&UJ\CVYHR^9'[W$X3Z-/
MSP:?5M"TC1J%BXRC4@2(O$1ON&3!2^2<DR<76CM&=\!YW+IHQ4,/D\3KT=+8
M'>?/8'A,EN(*R6MA@HRU;%AP\@M%<JEX$73KJV<WA/@D?.H^:>NAE.0>N+>^
M<%T@]^1;;P'W,/YUKS+83'+-.-S_)'<K](((A%#3T@WUD)VR-"73]"]"R%EQ
M[YUM75]W-+*[Q]\^=M5M0MT^_.Z$3FJ0F66KR N,03.HM]%+E[(.ED>#K<^0
M'][O[IVX^WSO3:S>6Y)R>-O85U40XD1F[K29MQD5EFD!A47#D3GOZ#41UA;7
M>I+I@NLH$MIM-M^;T]"#5%9 [@A)_HF#T[,9YI>?<0*G^-L4R\7PS:#@"09(
M$&--[ZO:C<774YQ",8'9V 1"N]QZ'VP7O(](6GNC;5_]<U;5G3#*\TCUYGB^
M57*].JOW'Y!E7\%D\F4P.GUY/KX8S<9E]24[%*WU@J-)45O_%FI4]+9ZQC>E
M>\&YD"DR!* YCF-A@,$RQSE)/:/QGC>>)VZ :%?>MOKJ121M1?+D9"H&Q4MZ
MB^E5]LEP9ARM],9KX43KL:V!LJ]BM=WX75^AMKU=CZ40[<.,7LOZ1:MY_\/B
M>Q>AB/04;CACF4TJ,&V=9Q1^>(:<YYRDY2HT;V=T%Z##)ZMV8/RZBII9OH>@
M;(EE&6AT =-3;ND*D,-DC1H2=5T".UNY=^ICTLZ89"DLU)KI7+OE:@T,7+#*
M!1=%;KT)M@?*[\G8[(OQ38S;NBKL/8[P]SJ)_33"R>D7<M%JTT&<?)YON2R3
M A#K'3)>T0#KN12A XM<)<8#BFPB]]G=ZYYV?MK^8YT=V!CW:<K6/5[>8^TF
M.9H-8/AN,LX7:;;*^GB,WCA'BV"]24T;3L,M5C-N)2J5#'#HUJ)E[2,>,*LM
MC-;ZM7UY.L-TM@3B$GHK<F0JAWI[F"!-:=*4T3)J]"IB[E:U>?E;'RQA6YNF
M867<',CK49G E+SW-+N8K"X]+-(&O>@;+ PCX0 +)D26(42AD&?I8R>N;OOV
M!\O9SJ;J8?=UY>*_'P^'/X\GO\,DGT"NZ2T*$AU!8!K ,>^<9MEG4%IQ'6WK
M;NFWP-@_S6T#YUTMVV_#<R,M6)HF:%9GFA3+?*&I@U#1( TO/K5.#!_NQ/O.
M1*SO<][=BCW$+BL<JV;:+U.J2<2:3<S_<S&=S9WXDP0^H*KXI(CDBO$Y7,V<
M0*.5@Q2;%_9U O9X=-#._CU4K:] TH!Q<#IZ=3&9X"A]F5_#L"@X^SO9[LUX
M2DAS2.2IUQT')+A:DI*U"\R$)-$F:ZQK?=ZY.[K'(Y?&3/3H$YP(57Q)DC-7
MP!,89\C)49*1;)43DBS1_ 3XU67B@)M8/31<:/GXO6]9':(]PQV[I]]\M.!-
M,%ZYNEM*P8^PB@6'FB4I5,XI%)-;WP'6!5>[_:P[GK9(S(/G,=A4>]?56<F&
MP  *A28J!N]M+@);=S;LCFY?NU[-M;)^(ZPI(<>R-[9QX9YT"D0Q+-5>B1IJ
MD8+E@GF=ZXQG37"M1??@BKW;"F77,N\-"#N2.MLND)_+O'N408LR[RTX/!+Y
M>9&E34HQ)3S4B]XM\]S0:J%!2]#D"KO6H?/1R*YUF?>>5;<)=7LY7BF\#LD)
M5A(907NO&85VD<ED8I29YOKF5V4]S#+OC8B[]XCE!E8_<"\* SXF$)RB_9#K
M-D"]%8-7QZ#>B&&MU*:U._6@>E'TZDKU1=01=*'H O>Y"T4/U._8'V ;WHZ@
M"X71J)P Q3CX>EK"4X!M2F&!.QDD>,%SZVK;HY!9PRX4>U79!G3MPTWR6A@H
M)='8"92.3I*;: SC-+%S%$DBMI;/X=VD7DF[ST7:Q.(]N$B_C3[!#$<SS!\Q
MG8W&P_'IJI&8LR7QVH,EBGJ_O*DG0PNM[TD:':(2-,S632C6HWG<JFC$0@\S
MQ)W=,4(]#!4U\P5]K<,1##A!R\[FD"(**UJ7J3SH+B6[**05#SUXQ+^.1VE\
M_@EG^/)T@O.D^%=D*1H>M&,>:4K3-BH&T3O& ^?)*E YM5;(>C2/6R"-6-A_
M?Y&?_DC#BSP8G7[=]>9<<!"Y7@=@8KU:AY2MZOT$IHBLO DAMG9"-L5X5%IJ
ML[W6*TW[3>[\?5*+.# [TC<WS)I:Q%$RL&@A,'1*VYKE"K%U\<1]F!ZA;)K2
MT+Q^?4W-Q,=QO6O4<0TA)V!)TTRKI:M5V]*P[&5(R3N/WG4K:+_K,8^(\\8V
M;5\)?V4&>YG2Q?G%O*KFY?EX,AO\>^XYG40730(:JK'D,VE9!(LQ":84!XE!
M&9FZ72[=[7F/C?\>K-R#TW&'#=8AII';7-O:R,Q+O=8O,Q^]8$Z4@#DF"[#'
M.J;'KZ8]4=7PXKJY_N?SW+I)<!U@;WE61@ #A:K>M&=93,HP6OT"_0JM*ZG3
MG+/-TQ^19O;#P-I+\1J7P[X9CTX_XN3\1XRS7V$R(:2?<8?ZUCN_KTG!:G?$
MC2I0ZX->C^J9K1K1?A./ %Z<L84)K%VAO*/HEGQ+YJ2)(6G.LVP=(ZZ!LNM*
M=?5K%WNI4<:8#>D4DJ;XJJ3$P'O/0,N8-0"'ZP=E&X]NKY6C+3B^OJCL:M5C
MJ0J].H[Y_E2]Q,,!#2-X!XQBJ-H034<F9 W'$P24KE=Q'+(@86=>[]3)QO;M
M(>-^%=&E[& 77#U5$JS#=)B2@5TYNU,".QI\GX*(VDA(I/9D-=2M(4ZN5':L
MB)2T+=:;TCI@V:\0[MG4WY<.-K%S\PP642 _X&@PGKPB;W<P^YK=7W52M3()
M+(%"H=J6-5(\Y+66+$M0/):<?>QVTO^^)^T_BFA#R+@O:[;NFT+@1+@+G#68
M3#W^)TJM3O$T;$]>$7/@? "GN9.=J;[S28^$ZG;6;/U6WX5+!0>\.C)<:<,T
M*9+Y>D$)R!*%],5FWBU5\,@);F7#'G;$:Y0\6T;)'^G?S)<F&@D6'FTM*Q/T
MAS$L)I-K"LN8D H&UWH[ZC8<C\5QW]G&>^!]*?$NJ'IRW&]'=!BW?7?&[I'
M#N;NP6U?@T[IK A$8I;7>C]%"U  $UD4:+B/*AC;^HZ>?8K@'I=]7QK8Q,I]
M<#\8X=NR6)M6;::LB,+3^'CRF6F!@@5E@0&YEMH%[7EHW?'G)HK]K_LM^+E.
M^6[&[:$4Y1>"<G%>\^*_CF>X*KL*0H/E63!3I&8:<B)013**0HW3PIHBL#'C
MMP)Y%*3O;N+6/ORU[,.G3\-!JE[->YCA.YP,QGEQIZ7529M46$Z"(.IBF)=9
M,PHR#:3" X9N05NWYSUT]ZXOTS8L,>@(<76;;0>0MSM_6^O@$$Y>;[QMIHL=
MC+[_^6%UXC;5ZRNC9P[K58-H:%HT(C!AHY.!"R.N=WL\2F6L\?R.2QB;V+IY
M*O<66&*YD,F091%>L *)_.!,2YIWMC GE5/")F>N'Z58E]I;_Y#]^0$]<C+N
MP:#-$[FWX))+7,:# H#"! V4:5</]M1R28E@0!FKHM^>:/F$B-[&H#U$>O^
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
M<G =,>9<VT3;0/-51D?_5;.Q00GON?7<JTYQY[V/.G@)_49$C'NS8@]5 C_
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
M2")Z:B]1%=)Z5U0"[9U4OOS7JFS1'($BJQ>=:DFV,K)E9G8WB\S7[4/60*W
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
MEI#ED8A=T8RN.T0F40IST=/,WNQ]D!/$Y;.A+C&8AW6$U%F)UY[9G"74R'O
M[.F.)6T:2\Y.X#8@S\(*ML: CR]76S_76>^<C )7W!'USC7%J-&2G]WO_GZ-
M_V<^PSNAL^&*_HI-]Q%*2<R!*19;- .'@T.1?/%RN9>J#KYD-#)3Q^3MPKS>
MZTC[/!ZN5Y=#".PU'E<<+FU5HHT51FN&PY:AV#"\ROHB;:S!NXHOLD3CNI+L
MNJK"X:>^&<&D<$&0RAJ:_E7[('DFM,CR@BFCB8Y] //%WZG.P$#D\_VVCX[$
MIX6O?UR%<@7^TK]AY/F0)+>B4S.#6L<'MV<_^&<6;O?UMQM"=4Y:&% XO$\D
MO#Y<07W),; XW]PB<>0V%I/[TP7$Q.?H0!P2FQ2'ES'F$ZR=L7<LR\7N?JY6
MUO*608]08G:U $QYT.!9O0N:LO!@W+,=H'*O)R\2:TJJ!LTFU;VN <IC^R-2
M_?)7U9R_[.AS =H 5TXML7D;/T*01_,A#V1"^9>'+Z_840;Y@?*#6+)9)DAR
M%%/>$5;.U_Y:GN\3-L?4X.T$,B,&VEV:=ZI/S7@A!=O0Z-K>T+"8F#@6'/%"
M-Q:BTVI=)2 0'&8-L]?6.]LL51N\OO\'H?(;R3G,G&MK=6;V3SH<KW=%,W8-
M+%'R0#\_WT^N4*V:>IAU4I(\G.USZ9 +'$<D 0(/D-WB4D$#"T?""(M,5]?(
MFJT45[,P3%FM9*VV4%KLP?S[X AM3Z[>K?DZ[,L=D0RG]N'5!U--N8.0FIS;
MBV.M!9/O7][X3:Z\PQ1GF\W:A>2!49$Z\SQ4KRDKM4N:CM':A \RL[5-/T&/
M1E$-/D_8 P*G +^8X;R"UPP9%0-H4'WZUG1YR;.#4;5*Y! LJ7PM%K.9%]S$
M1]*5VH8+!G<M%^3M&!>AEUP"H#,_60JP.FEO(3]Z,RD2;VFNI__ICPUQT=%;
M)UVY&K8OT%;[0DJ;AZ1T 3B#6->7R'?4:?,D5&?9/!/C^O&WP,A_<7U:@'55
MB^N;WE6B261"8:'2G@GESCT- P4JU*/F]S).YYRF$W:_*_5LC5*B8[NNY3<Q
M6GKP-M--K_8]GQR#&;\WQ/F)2:"OM^]\= KO9OSW6/\OZMX[JNET6QAFCLXH
MUD$$I0\@("!@Z)T9I2A52B@)92 0"%5ZAS.C J&7!!+J" 0D$) 20JB*]"J$
M$" $A%"DA-[KIW/FGO>^[\RYZWQKW7>M^SY_Y)_\UE-VW_O9>S^:X G-^?5F
MJ^]J9R+X_=?@B0+"XY,2VA:Z8L?>L2<VWO%ZWN)Z")OZ;C'@Q.,KNID^&9=O
M##<Q=O3QRXM//E.)95,)^#";YK;0D ;?5P!5L@ZG^.X+[$XY>%C"L"=,)0>]
MES(1[XI:+$YA2S76_OG+BM](V$$IZ8B(&Z297*#/.1/[E>E)4,JM/)T&./]S
M')B/,YHN(59<VE-VM<R%80RT2/(.-C-@!8W>WTTHG 'BH"/N>7'$Z?SR4QG5
MD5;CW5 LQ( FL,I(BB]HL@[$QJSH6FB:I[W[%_AIHVXOB/N=LKI[I>RG2?$O
MC88Q>,T OE.O0OLMYGK*4C^*_SF=4^7Z_,T%N^!/S31MCMQ)J"%=GM2HY?PS
MJ*4CP_K6R;;'CR^J-P]B@&;1,_)4_2D.F)S9"L0/]SU],W\X.VIOC<:Y8#I3
MIJF-<55E/G69R12I_F D9$V2K/8/C&VZ([>AL.!LV*!^^P]VMJX<_#YOOI[N
MU0C^9,-@G;&1L'AB["G?FU-ORHK;YPI;8!&^?< *D1@C\>O'+UO#1D<*%5\9
M/\7!0&:_B!5AQ3+%X;&SSU$Y::S<@(?92]C,I=C/J$PH )Y0"5!]?EI,W_GG
MN6YRO:UE9RG9B,]S=(_/)45]JO,H,M@6[JY(A;%38;7M&%6=7-_\;/]%:Q.0
M4WHJ84Z]1G:8??9C[+'3UOYVX%*O4TGF.D715/]YWSD3Y=J&ID=.$M<7M>[^
M3[6>>SGI:&WCT45UUPC7X!8UF<"'9:*]M5P=#^17Z74!W"O(.)\!3V-7^K7%
M\>T'BD6TNOH))#B\&0MF+[H#,BE-)N2:K==3<9!'E1N4MQ6FY:IB=25)(P59
MZ4&NN>[\E[WDMVU'U\.N9[N07/*^RU4NWL4NSB5*#DC/?4-1^H.!+AUY$'B\
MK\N^JE\IU?.HG7 E<'O[YS][R2^+3<=CFT1U0]R,W]<:\J2T?E[G#<,0-[ME
M6^OLZ^\(ME4^K7$:@1X[$ZSHL=$".59U/[D)Z;LG\?]]7DTV@.R59YB;]\ZW
M/FKWL[*G[%2+02!DDKJQ6*G&DZ(&B_XIF>;A:]Q:*B^6/W*,/;F\VJ$"5:Z4
M'(8E00TF".R!_$1%JI<Y8G<2HN^@&UQ3NH&M]&V<<1?U.^LQ#IJ-/-@]^Q _
M$-(;#\W1D*B.+45&%N5-^Q]J6,A$ZVF@J=V>>;O X\1<-RG^"@E:4$QO@VM?
MM9NU0PBXWIV6A'P*CF.8N!+EP\1L6>/TUG17UFP(N'H+C$NF&**D;R%P)6C[
M[H[DD"MZ-C\V=-</NV<C#/91")6*UB5;N"8JKY0V&6GGV3?4.?_MP* BM=^;
M5WASEBP4*Y]>[CH2I-:QKXE_T@0''JTXY83X('Q8#<UC(YILC>"VY>;8\O2]
M!AQ4':R 0LT=Z.:KI "XP[+[^W-8=2JWK*P;C:0>H7-7VP:K!@.:G'!E'O+M
M:;:?]@(X0D<YH!3XF =#]IS)_PZ]=O+)M=>$!I+NO@G" N2__#,0W4=1I/@0
M<T.*(O64LVMM$Q#@?,%,5-+'_4LOQF>*ET]A_K%U%@;!+ZQ?$\U$N](VQ2]V
ME8OBC3U*W)\0ZH:QKXJ0&#<C+=AH=)-263_K<-%\5ZYK\8FMG%/5KC8;.!^2
MBSIG^NYZ7Y!$*^WO<.;>@]>=<:1AUZV<NH8W#Y\0<@_%P:G<KH??=;)O?$BJ
MGS?'RQ^982CU^)4EF;*5S &[.=_@6 ?%YEME*FF*H=?$)R13(N=]B,&Y=B^*
M>5>UU7N?[CFG**0OM.L7_P [/GM+[-UT;2BO'K/RJ#20F"@QLP8+ZWGW5-YO
MOH(D,WM.IB]]QIB:#2,4K#P.IU2;><1':$6*I?GH/5BLZQXH;&#><P_"440V
M7\Y5%L.JP3-+]KC?T7+["M@\K<^4?.Q'5(Q81P VXW&O.RB?@:#=QN-O'^NZ
MY9=HEE9SVH',L<6&.=BE*MNJXKO%QKWN="S-[G/I_N24+[G/H]2HCS%;-!>)
MS9OT?IP28:JZ31>3O/. HF6WU?=HFJZX$(QE,TB+&^8.V?&95[J[Q=L-H/JK
ML6U*CJY$YK?\G2'+6/F(5Q7]8@!+&1$KWI56WEU%+_?5,1[[[S:I<%988DN-
MU]YLT*NKW75 _ -"0D],DFO(8@:N2"$SK!E2N$D,:=(DKCM<L_/Q<_;QV1]R
MZO3[!3U";YSZQ9+OG7]*;NLRM6]>A3V?[_"7TD:RZXD]'IK3"68&L;\R?@(4
M!9DC7Q\"V#1)9A#]C0][PC 4%MWZYA-BY"0G;#;?AU=8K?WLF2/@T_H;P#A^
M!1?G%_QF2$'U2;\QRVH&\2J6(ZD&4I4(!X8('V4&BA1.B$K;YZS3F$D+."/]
M8NZ7C/*8<R;"(%_EW&Z0\'725-=@N[(GQISC\[B6[SF3;V:D5\_J1M?'1-I?
MJ.D?+PQ6'*'6I'X%O5CNY!!I:CN;J*80YWNN34>NB3?I16@J3@7<^*I\N"#O
MDJ8+7DVW9W"?U3VD RLB+N6<F>QO+'O(:G141?:#SH3$%6*'*__^IR5**1D:
M38$BD3$VI-V4U'2OIR?B$B=-+0)L#< 3(YG%M6 ?2L'/7S7C=WYT'3Y?=;-U
MB?#?Y!B#=ZNA8 &Z=ZWE6C""BFOAB#VM:O?OXK.9<$KM3;&Q='J.NX%A@[(N
MEV(-Q'6%\2;/_24>#62D$//ZM$RADYI]IBQR'J@$5)\.WP,9O]57#",5+T$'
M6!Q%V$&XS$%><V!2P#DNU>;U,3[L\ZG;I@)]]-/IRVRO!>WH;:L6]NGA^G.F
MWGZW19]FN<$"=8:=L@;HQ.!@MT[#7G!;\/%AV72<UY+1/S\(4;3MOR-)8<-,
M!F9P"_3CQ.F=K[S'JV=KR^>-95W!1PL3*R-897-\Z?4=G)LA<FFTV3^D>]A[
MPQT*S0W*UZ"H[1>&-)"?;U0XS8;*#1X)-FX$YU7#!TZ"T;<JRQJ2K(Y==CI?
M0 >D5^3FCTS?8UQJI9LB':O>XD7; TC3WYJ4>.*_J-HAN?WJE3N/B(HV!0#/
M8&@F5*/7>O#M1M/R.1.8<)=:WN[=#S366"@2'/<M"#J$;5<D]NOEU 21*F<L
M/]42;VUEFU\T2("WQ;S$#5K7.=9O>1H[UU2:IP M*+R)-:8?:S V+GY6$G,?
M=YEC?8A9OM;'F<6O+5S%8Z&AEC4<--IHS4%FM5)HBN87VZ?8R!/6(4AXH9U
MU?V="#3*@F^VA<.-[4)DWPPJ",BBUB0RZ,T]PW2IM]NN>@FJ)'A^:N%HK&Z)
M[G"39IN^O8K#$S2\0U[_@?Y6ZD++J?NFX)WN*C!2V/.ZXURX&V%XBUI(37\,
M(W3XD+(4>^['DN,7NFKG<6VOKQW/H>,)AO$6F)"I_CMK-J!2<_JUG.D;T_<T
M!R;"5U?G/Q3(M.8I@"V/Z;I%\]V="E[OB(, +K'](4)UO+=RF*]D\I^YY-_+
M.[P>0V]A/;S:>W5 *\E[!60C;[/(6JO5./?0(T,_8'2^:ES>YN?V]!4TV^Q
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
M5R'HS")7K#<VR.EPD/(/:V3-(ME+0K1S#0(H\='+P+I-&?[TZN\]!>L8U+,
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
M1U*@*$O"02*2)R2@,]!#IM^,$-I0,I!6"NKO.S%4XSQ"NN<N]#0 K@H+=CF
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
MF3:_,M:BVO>[!0P_=+V8GP164(*K9^L9-(/^OKNCXGL#?RR7D1F];\2C'-@
MS#9>7+H6 K.<F7/&5&UBMAPYW]$V<&WNR[-O%I3)H$.\/M$C2UZY\9(JZM!S
MKWJ6G,8&"IS_X^L]_QEQ+??+T2\INZC6!6%K:,&NG65[@C?>+J5UF9;YX\T:
MI76'L*<S27K'L*NM[OF\>QC@X&?<=GZFD2=_< >]^8*T]WV2IM 46W.1_+OV
M'5Q\V++>3D11J(S; @$%N&Q_3L@S\9)SA>'T1L;BVG>;&A"MM"3R,W5XH>V%
M9,M2OGMX1\7"0!L3_D(!Q.NGA:;&H/I)JS1$XWX<+C0(S&>A'6)=6C$N!%ZI
MUQ]"&*O&5V^'*(#BJ1J$ZH\Z^E+?A5>WE$(KLLE7K7H[-6)G7>TF,+Z] Z)/
M+OC-G&YMZ<YX@\A?=U<=U-L1R-MUEGS/1RO+H)OL_@@0\3AQW'D"KOS#2I&G
M11-'J-ZXR7$I8 -"3B>!XJC<$"*VV#E5[$[ZNL;MB1,G0GG-F-<#)QDSEY[E
M%()744E^XQ6!:?0>4O_"(E"(<O8*U68=7(''SMM!VS!MYC7Q P+Y#%)M>?<J
M<>JN$!=N3_HV-6+OI66VC4E=$52YDE<%/BS'23%AE6<6.X7 ^(K<UY:#P\IV
MFB^GZ/0B0:\M4+B89QT9"W]]BTW^F[T]'C2,)G_:F5ND*HENO1Y4V$E[K^JM
M#GZ1U&1[@'#O,Y\7T[ZW])])G-_IA?8)QW>E3=T9EF;P>4(N.-V-?&,#)UO?
MO6UV]>F@Q;Q'1O-1E\V]!R7UYC@C3CHHKW'B)79X*_#1L1/Z,R,M<$%4NV_V
M]0?N/0R>1\/^EU-A\)OL#]C^W'@*O@)S_4T_?V&QBDCLVMH.6#%2?[S/]>G@
M<*AA\!%Z_.39:YM ($<1P0)H#BP%@CQ2BB1*(*6@<J!92I&&XMGJ:W?Z]35Z
M)ETV$OK'-^R[9%7+F&QGJ]5G]/0:VLSBS2^A[G)^YA3^- *_TA\FO0,LZO$/
M X% P$J;EA(]3,%(=Z\C\E8,OAP<"4:Z_[ 0#8:'/,PV ;=DQ72.#T=J $/Y
M0RJN#@ H!GV4KUX:9_K6^6DIM1\38',H5\\/2KDWWK760_!RZ-':A>SH@SDG
MGOT=.\F:".GL+RP#-T"7\EUT[9KCBGA>_["Q3E(]-EA?D?_"PBLMSSG@.V'2
MM%O1K2%C,5 [IN#BM]$HJW^4U>XLR#CN#=F  RJH<P'C[[+??.N4_]GX'Q53
MQW 0=2FU]Q1T)'!"J%P34#M/("/&*/!CC:FN9/7G-74,T+]\EQ$E<6+4,?G*
MCR(Z:I:5Y0_3I+^P).^#RB2E#OX#Z%62UL[" \?V*"V2[9[R]/5,O--*4]"9
M5#N<F#K/<-#QS8EQH W$OO":Z5\P8>V#P+";-XN^L,R*Q:X%7)!239C.WQ5F
MS?0?UJA]K^_-7X'N!!BKAU>9.O^"8VARKZ28"I4N#< N/<KI%_3X#WRZ8 '
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
MIQ7MZSX<KHNFL3HPK]R ]S]1?O%_>M+EET"5;0GQ.'L%Z95>DW97?^A2+^M
MNP?5[<<[EG?\&ZM++Q4V)UBC,6*:% HXZ&J]^>QRIYOI,@HE4"^O*@'BQ%"]
M T203@0N5'JM8:IOGNR<PO@MOS9+.(5OR0U[TPR?SJ_1R'W7+>U )QL3_#@%
MF1-DDE+\>_4FA?WDLVS[P%P1E7GRV:;(-]W>.SAU,0*(.7$!L4UY_96#4WUN
M+CD";[V'*LT1R%@KC^0*8D"+6]\/5CRA^]8.<@5 L^(6=>9@791NK<T3BX1?
M/_(/>(XV::F41&&;])7<WE=\KIL>S;UH[H+& ]AW4"G,APHR_]JD_:DI95'>
M.V8IC9_\(EBB6N:5%,PP6D:K!.=:_D[>.9JL'\!/:\3-/9W^Y210JU'^X7!/
MWNK PJN7^>**#'CG4^#XS/WP*TB*Q@%4^("*G32I"L"(<?U3'Q>(@3[[@][^
M7R)&U2QNB#ANYC57CG?1UV]#<#:M&ZIA<^GB0;*73ELZA(HTU.!Y97G14&?7
M-O=S;UV]W-]B+.[]8 Y?SR<1Z45@]SA^\95Q'[Q$TG(_PP4'$<7<+2_%B/57
MDWJFO>OBK;T)(_RSUJ51&=EVOWG%GX^:<+#?(&!4#QPK_<C7%Z*:[<Y/Q J_
M$I+G?G\P?= =1H5[D,3MCEY+Y_7MX[;!RB['+(&$(\S8?1QHLF^_>"-Y0W+?
MW*&)'9>PQQ.NLS(X_'P-?3BUAP]HI-K$Z*PT?C]';NG^;7]P,!!:.<3D]8*N
M2DEF^Q_(*>VG&G4<A WW:RDQ1[;42$:%!:7].2IW1U48A2,SXK"UW(.N'N+"
MV(4O/B"E)SI!M['#>&F%X,H?IQ3&[Q+.I&K"4G4Q^)RFW*YJ05&-RYA[P^EA
M.RB56T7FBS/<#JK\%"TQ%%$H-([[89=;16I7GW*%>W9PK>U[(GJ1$)>^(;<8
M_XA@SMOM";7K5;H]:/_0KWT\E-2PT2MN6+=1CD)[#5I:F9U$YBX8,Q0-AX'2
MD)W\_ _BS]8Y.GKE7M_XZ[!EG$OT2+7O9JV_+DM@BR.P2=2^,R.>P:XF<@YD
MVPYZ.QB G.UE.[P^,F]\/_+M8A:;V*;6RSUDJ4SH$"J.=;5MD[2+UJ(LM@T8
MM0W>6K1C:*YK[KM;Q"=\9RA5,[-"-E=4;,LWO.ZH*@J?C-KQX:FZ-9@D?.M&
MK. M[?-W_T11_S?G+BZ?F?: 'Y],QKK6;9CV7JN[A?X%^6CF<J X\76.!,0/
MH:)NE<[E[2._B=A:S!P=QP/ )DV386="B]U[\*7=AF"2ETOH:-CW*MDN+7S!
MU_H6N3L*G2LD,YHT1Q-\=") =C^T7PU]$*<C=5B@,HY[4C<18DA*SW\P'*=R
M>?37-Z+C8?0=KM[;!I@N%ZZR!M"WD-C:(EK%X69V?W^Z7<\SWX5' CI;P4F=
MW=94ER_!??A\+E+MTCZJ/I1K,M.!=W'_,+N[=;A_X<M%P$KQ>8)*@H\1%*'L
M]2 >M[@3V.&^H_R"OYZQNL,<6)!3(J]LJ5K15F$$ S^C[EK+%=.<,-?=_G%P
M&K,<XRY?1T-AH"8:!='B?9S+K:;N&<W\ C]$QI]^/64&K3IG9SHRT? V1Z<;
M\!EX[HV0EH7UT\?'W3?3VX*>D]LU_L5Y:&T6_X*4$MOB/L[?-V#24E:Q:VS9
M1$L:V7F\8G$Q ? <3UBI%^YU=C& J#,-;JU!V9]G6G5/3WS>X.7VZK+\#+-5
MJ=[0Q$.:B@;+%F'KB0GO6C?1N;H"K_&J-(59SH=#]V1=P22'-DFZJYZL6CS8
MC<;-D7OFD>UE%/GY*W+CL-O+YM NR9^:XU]E::F<5W=6)S (5B.+]=Z.[D
M - "4')TJA([I\4.+A"G1\;XMFIJ>FIJ?X@?4*WX_.=@7Z"N.5!7YSHZDQ"!
MOU6G( >:!Y,'Y/DAH1*08D99^CG3MU(ESM R?[:P+K#?*_M\/7VT6^/-!>N<
M:_!]'^F$NDVP*('+$3OA7?XD*N';D_C#41[I\-WJ*_1.;H65[!P/+M:-T@%@
MFP#2T8[*7C].&],(IR4:X4BZU^"/E(>0\KKJ&KH;$NW5?ATL^(,ZFVXI%(SN
M3RE&XGBX[2>&><3X#C!?DL8O!SB7R>3T,R*5V 2BK%)K!I!WN^N6>-JD%4S=
MV(*"S+?YG&PYDJ*9?;YX?TIQJ.Y"PQY^_":)00;$6\/G(8NF[U5/4T!O(3C$
M85\1I(O*Y2@:GQ/J4EN,YC(=\96?^\HD_?/UWM6H8Y;?W6W17G:T3:UW!!7W
MK&R9Q:4OQOFN7?R?Z-N6?%K 227?1,7+R^U ,+#CNG^RYJ8'QDFEF1K65'AH
M.#T5+B9IY!C5]CR7QF9DFS&CGK6!.-0SWQNM;6YS5+0^>A ]A:\L)YM,&#/D
M?S_I,HAQ1J$#%^_W:BE68G(F[_Z[RI@K=K%6-YGC'DU3_@_Q,?IU0M%&H5PY
MER^@H-;1"#'=/=% QWN0[B&L>)!DE3<<63(3%2L\%#1$]!$/BR7!FY<YM(R5
MD]EB[RU,'NVW*6BT+QLU2=ZL&2UT?$;KVJ_95(T2J[!1 EX4;K-O&$F)(+=Y
M/TSZI (&(:SB492/YG%&M_WU!R2F[P<' [OMNGBDJ:N%Y^,[VQ8(S* T;5K0
M8#5!TY G^;WDB8=:W2MT1O[/M.J;RZO.57.#L>&:P_Y=9Z->4(M_GPU95M45
MW(I;('C(@%)BHP0+OVX9P<5\<]#:W'C>+B]J(A4JN;ZU-=<D)F<W?7=1)Y!I
M=/U?5!%\[</T5Q?J5[Q80;FEEK#0]6.63VG9!UYO(YMH3A\<%'>4!NXT@?CN
M9RU"5@?2\Z\)_HN*5RY08GT[^Y1Y]$C6N*P7>[O?*V[_CO'HTA^BEV>G;N1]
M^SY./;2UM-IRO>PW38BKX2*,IH]<L-'2'U42\#?I!7\8WM7#D50BIU"!I:>X
MTJ]+G-R<A\4(]/&_(\&6-@OD F/=K%)35ZS2<Y=C9_W<+<+:N["[N5KW"2,U
MZ'(-[T2?E&XSY2FT[7? #Y\+ :-FE<T_C@0)2N<[K!.@%LJX!D1D,[F./V-)
M\]GHS$RJ-]E18G:#8Q9K*.<..@6"O34G#'B7NWIZ.[XZG5U1:EO)W>1GF/+M
M$89,#T"T'N FZ"8_+??@DJ*9@M12E=D(=*(BP]I>O9)&_&#B[(E*!@.%58@W
M\8P]&0:9[95MR3R$28T?#^:BCGCL0/7VQT'X]'+)+HJ*XE[UFA'8L[BF8KF&
M[EPMW?\CQ>"V^,EA ;=;M4F4^H\O^T]^,GT1(O.("\R6F@#S<R_L/=5.J<_>
M9\/[N'J%I:\,?PST+B&G/W^6;NDQ?O5L$D_%*$/=T<[B7L"BR8\'W39WHJY-
M-G-8DU0XI$%@O_P<Y%SY GS?8E]UC.HE[]W^O=FV:*QM\#UQ'4$/XP^C'T:W
MT^]FM"<%%./D]6$<D4Y?9 W*?,JZ(+-I<_=VP[Y/L7F[E$M;M=X//6;AKM.M
M&BT  G6#YUOGH08<NKY $5U*GTFWPRJ]>Z@0X.A5Y9V!@I],*+LA$/>VNP-V
M,)W(9550BCR%RDM/^BO&QR(VV5]<K/7(';J0WI5>PC1HK:E>:2M<Q93\..E@
M6B# T6'O+Y&8<0#O!K_<Z.?119%Q'5$&II/FQ>*--XW&ZL0[G\?ZR(9)Q=N<
M5;Z[,S!5E7Y%QZ .7#P:1":4>W:-?:G;51;Y[(0SYPZ4?.(+&O@3*+'_W?'8
MV5_6 >2++RQM$B0Q<8UKW.5&G/&"\F<)*7%Q6?4B["M%(K!8H,_45$)=IGF)
MU:06(<+WF*65"3:I/U2"R9 -;;VWQ6),5YB?19:FS+GVA^#/<9>G^WR',KIM
M"MQU"(4MZ(H(^8E5Y.V;JH[[&OM=;BWUGPY,2=E31[RR"2W^3ZVFU1M7N%,X
M,(\*TZ@/TBOBPJ9+HI>]$T,WLYOW)*2WTW7O)DE[@(9YBDB'YM@RZP2O$R<A
M-]S/QJ.0K5V_D&P3[D,HR5)T4/O&)71@F: 2+QIL)3*-8ATE6J\JB(_-O;$'
M!><<'0;E",T%$L>*N^I&5P9%RDMWTR_F=/I@R7F*$*;)J!\5<[((48$8EX=F
MQEIU_*.UT6X4+DW-9U\SG.^OG*UC$BP9! #01[Z[>PJ@7 5HN9\1JGJJ$F=<
MOZB1]-%P!IQ6=_VF?LG'2C&,1&#/S[P(<:ZT^@HJ6]6EN#EEX2<.V^*E90'2
MP;C2ZPJ2A50STPX9\%@I5)OB[K3R3,:4RY0/8[F$5*IW2LJ 3[I)NTFM8$OH
M'^CM%XIO%F\]3W!3(2=V 5C;*N>NME8PSK&U/7!5IW*2HI_5'N9QMKF^33;3
MJ!ZZQ_EE&ZU5(P4%TV+5?^6HH=!P6,T]*#BU9HN>OD(-VR2#H"@7E%.\HQ=\
MN;,5C',GH5Q'(I%4=I(D*XF52Q.6/]\K=[HVR;1GX!<G&=HSJH:I']R>S/'X
MA^Y*:!2ZI$6/R*09>19,(J@U_45"%7L%T2:F0%\FV+3?U3<X_"+:P<WU<Y7L
M5+W5@\%%Z@%G*IRP1PA.9A0X@-8<4QO^;K+M+NOU$,+AU'M?MB_I&=I=+M4%
M\A5:^$T]&[76>UX(5(>;?$[QIZ$-GJ,$"H TG+X-4VJ)%(O(%4430#'L.GM)
M-NB8@''RV!0RQFO*P/0HY?^!4?-/Y#\K)/QO.6>F7")Q9/,E?C\AUR=+L*'9
M@S,=FHI>H\=SR/%3V;P=&E!584,^2^CZ41HY6L\-I7P=$[952NK;]1:EZ#I8
M-FX98T<_A)Q]K:\_R$;)0/'7%B=%9@MX\&S661IS]4AD^3$_8IP*CG!F[=IV
M^6R&TG9=EFV JFA%>:_N":Y[WP\J:4"6#ZPYW5!5# V[2;DKU:^3GBEPH(6J
M%"=-4A7X!I>O(=K=(;P#A6681WZ(X%2$*.+Y7P)CRYV$8:ZSF$'W32\@F_Z.
M<&/V^FYVH_N =1=(J\NT7;^U'79K_G/PGPS2OY?>.(,\LE"UL^G*4AP>QL[[
M;+;OZ;1BN)J(>47W^U8;QK:L.6!;JY8'KWM4UM;V&]0N-MOA]T>W#L[)--37
M'VK94O->?>%[4>[2GD]IYVHY60PGENI4&&-7%_8'[X=<;0D1E.3RK9-_)C^U
M[-(^!--853]FV50Z9F$T';,DS/'MVAVS[(17';.,,,.EPH_N[S3M)1 O'K-\
M7#UF\3YF.5)+Z.([9JD_S#NB; @?LTP>LP2?Z-8N<O^Q*8AC %+[B//>2'_N
M=U$-L; 0<RHC$U7>:J<-L0I*U0&;I(0VIF+$:$1%T':>N=G4A).C\VS5ZV,6
MILK<]-Z';&6>;,U=1O@QB_QJA:S!LHSW6; -DKL-H_ ,C,HS-S=(G"6X6!@(
MB%PHG,<]:D8+X>!@!5V$@:]+J@<":',-#B."%];6A[.H?K:9P8?W]U8DW8/:
M>HT^S"Q1E#> 5BLQIAO'+,_YNIT FJ^6%*PQ5.=$763>FYN-%'&O?D0=PD2I
M7LBZQ8\#Q5-P%U6J9_!C9G^U#1 $36=<'JUZW6P,6[4F'+/H_(QN:H*\#W;@
M ..H!6J#_3Y8CPVG=*5E@B1L1P!VY.$"'V=RS;3+$K5:@9/"N!Z&(E7H[+W>
M(.<^JS<46FYTSA53K7YO+D/3^X[1A?$B\>EQ\M2EZAM$.V"OW8T&TLA"K@@J
M2/7>,Z.WU*FO3-@GPJ?>][QN^CK4ZA7)+2> .+;R ,,9K%4I1BD'03"=>H^7
MM^DA=S]X:W90$ VO,IVK2]WE47]/_QG4"<WXL&I) @!*_/SRCDY)?&;&P,Z"
M:'Y'0O9?DW\ZRF4BZ\GK>Z_?'2E5\8G%L!YNU1@[=]8<=F"_V1NV<A1#M6\U
MG(\5H8WCG]TS"KQ?.\)P-^C1+(: X:;L6N%CY#"_40UN4[7'N#C9J?0T0CSX
M[7"'OJ;G9*X<1#V.[7;$4 +6JAF=W-&AZ6.:X.[H].(<,-Z"\J?&2H$X2^A*
M\9Q[I22F5,5@O6@_6\%$^TFQ\E?,XN&SK()MUC]?-BA/$%RZ?\O1;Q1GDJIE
MK^&,\%US-BT<M1)>C7,<C9[BP;%1"!U]Q=%!E B5*/BDSWXOZI!29-FD.9&!
M?5>( ?$18UV66KW1228I.!$HT QACC))!9?JFJ!I*"#T] 6*C8'>C]C5K_ P
ML',=PI'5,\(R%7IC6JY%R\_:MZ?<&"-)W";YEAZRA"@/RRD)L8)A2+H^4=S
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
M@6^;;&F>#]O*K((3HYW=;2*CV?BE;=)?_ND&3N6GQ+GEKM6]7V;:YVVX"#B
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
ML@3&#EB52/]L:B[3*\B^C,9+5BK,WHSS-RU^U+\R%[ZB)6_<:[E4C&.K"2P
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
MITW6E0(Q4&THP%\!3LAJDA\C6%)5X-G!V8FDB[RI7>".&<R,JS:G6Q][NZW
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
M!2[5I1&KL49+]W QG.NTNUW#L>(0I A2@5_@AVV.GD,F/(LZ>]]0#HIR@<_
MLQVF>T&GN]QDJUY:.A"]3X(;<,S/(\[B&3?BC6XP>I:O1!4.'1$K3?"QLWOT
M>$%C>OI%GM?\B7?G-%447*L&T2DR0:>)5*1U[^!_)U+IV9*S;0%9*MR&?TRE
MSLK[3%R46F-^G\[^]LF:JS>=LS?!SCS8X;>6YR\3+G"@NAQ?DNH&W2+'P5^\
MGKZ/I1L48X)N2^>#5RS+ESO+&?"L5/WN[K6OZ)5/T+!YG)8LIE6KSI9?($G
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
M.ROI @^<YPL*Z8GNB.=YWD6B.&!02-H1=/=1)-'J^G([AV^;JHS*C?9<+Y_
MT?:/5<8 Q^@ERUQ%T6QE<)WQ:^FG$S9W0W/&0"[F$H&W?NOP*G]HVR>Z/U^A
MH1%PZZ/C35$\U&PJO2LVVWWW245I?_5K_[(."=/"!XL(P7->R*#F_BH?SHU-
M:EJ]<MA(;+ D5[M[MD"\I3FB5A%I+C2KC?+AG(H9&63 FX.!=LJ//Y5#7L]D
M7-'R:P5DV_W4XEW/CE GVBD8Y$X\;1IQY$]!%5IBKC]9<VH.2\&(C4PY8W7[
MFWXK]G?90F]/;D67EE.-8X'ZK:W;0K)ZD?4NRS')+ELRQC XG4.SM=U1V%5Y
M8?ZOL$QL^^N/YR -S9-+(7I*#;2IANKOQ>6UO3?;!Y9[Q4@YT8N>/$?J# .0
M$) V^@TS]#U)GMG#P& ?^M<D92*>6FU^G'I(5>4DR=O[<%&-!&6"44JF\NV<
M;*P\U[)WU" Y$(,O8AOQL#9V:A=0=;:<H<W6RP9HN=+)XX/Y@Z:A!4(/]MP3
M$#EQZ\V?P3RO?Q_>, M\@%%8-2#.0=<14=W(_P'C!+C*MT;4RUBQ"H[VT._?
M+<<9ZKQIJW*\,:;R[>6>J:CFVML?UCR@$5X0+Y#K:V^(3/:,"Z+B2GG#2\6:
M_OXUP X YNTO,?T<.>N2Z86$PR-1=C%<4RTOTCSCLN\UQ#5@ED;K+486\:FH
M,E$4OY!S>X('I[)R8NSR)T,YK5W60!_F63=\_2N.Y%4XU5%Y_CH1G?6P?H1/
M;TEV\DY[^]NT!P>J<^Y)$?[5\$2AP@I?K#=:]^Y+'_I&@P4\4Z0\B_VSOK$A
MVR@:869D^PQ@CQ?^2Y<F",AA@WXE5%<1/Z-RTU%)4J+V:=T&"_7+IKX>>((K
MOI'TNTE41-R$_$P>9X56P>.TA<7M+![Y!V"LK8AAM7LJ1D0CN2FC*9,@YR-S
MLC)])IO*&,&\TH%V]^W$W<4=Y@M&2R:1_!DKVC]N"__K>D76:]MO=H.RRG4P
M7ZPB1[F];XD_A#AYRG'XFB0G,O(?Q92O!48;F-1DX^TH1:-YS\Q,>+5ZSJ3,
M(P^O#:)S!/+=9ZN"9 ?CZD,C\ZZ4,UI-V?9E=&Z*;;U ;99#^I8-.T.4<N#;
MB2-1F<551OQB106QI_;F6_M;/7RLX0(X]W>SG!;0SZMT:\T<'W1.*C=N?H3)
M14 $^BU>[/R_V'OOH#:095V<S>N$C3'&1"_&@,DK<F;7!H.)2Q!!I 6!0 ()
M1,[LKDT&88+(B#5)2$+"!)&#3<X8A,@Y)Q$M<GBV[SWWW WO5^=7]5[5/55O
M"O37P$SWA.X>??TU%JC1M>_T* QOE&]TK#J,QEOQ7#*8U50V0XAK=['S-%\O
M^GK<U\HTR;C&Y4\@AM^Z+:FD]G"?-[DXYCD=+_S8MJ$KK]H_OMW\[!<__=^1
M)$/D"GQ5I+@9,5:ZLQ&+$GW;(MCO6WJW3C%9(*%\/$A,-=;AEFW_8V5!4.Z
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
M_+WE3Q"Q!16;\2) YI>#CU)-U>100Q*;H&H&5\0V\-7*B8F=HWZMI)3^^MZ
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
M+XTX-8GV=[UU+]OTQ[?^0.)JINZV>Z8N)R2G,JHD6#)UCQN=Q^0W#5QL"",
M<''T5J^O'EQFT%5/OW+@2:O_M4C4 YX'[(\7I#,KTBH,K27UC1VCFU%.+X2^
MU, B81XK?R>O35+M<, LK'N#S:RLFJSFSL3'J 1U]*E3?_?'US,2=[@F*"U=
M1^+6/5%BM4V<R+*O9WP8*!#=3>H[QQRN2@F#+KWXSXHVXS,LA2Q&K&G/@&E*
M2029<S+WRY:[W"<4."@KZX 6?K;FF))XIPTX;<3U(5')D^RIB[.BW>ON,:*5
MKA.,ECMN0DO7G:J2;I0%1ET1;KQK>4VPX^5/E_P%FB,N1Q9J15V7?0R5LZS(
M!MU.NJ-Z#W3ME4C, U>021KF(DM67I]F-FNVWO5[JS;PQN M4]YKQ^=F__SY
M_3_[V,7YZI"'1UL1+FWXB9O#>QF3'V2"QRJ/=T1^V,$NUPQ9%$[>K[_X,+Z<
M2-F_L6M59^!B2U"\J&98C?,1?_!D)^P-V'9L1%;NR%9IT/V.\D<LH57W)>^6
MFE>"XIYUK*1.7&9^/.XB8;J-5VYP+'N]&"64?LW;6ON; TCD0W6?-&EMQH51
M8\S:(>\2'B88+AJ.V+NE;JG-"+M# DS*%';5:GW+09_369_O:6M4;B&_GKDI
MH+^R3@#S=;E^/0-YLN.3EK^OO)B OERSZX8[!CBQF_QI#0.<W/@E3%%WH+=]
MWR%0\LK#/SSVL6I9YKE[19-;Q'V3UGG34]*RZ]N[#DU Y>?K9,-PT5&MQRQ9
MYF:>7M[!]7)<TFOJSLH>%N01-_"-#O5!85]5=PI*U[&NA^^AHQYW)MS>;7B@
M$C(KENS%A_.%3'E_/3--A@Q(*5?:8R?Q(:'W1E!JL:6 ;/:TGL.8>GO;[N/^
M'-P76VSHA7P_+:3_LUW7EA27JVN-:\=ZP#V22?YGLMOZC#K5IV.T?!1WQ_(5
MLI.=_Y<3P>?^J+9=K3D>'PFOL"FV6O/7BQ=O0*]YI&WSI&-9\)2A[I-XI"!#
M3[[B>]OCS7 >_+$U0B36P!5B4DSU-?6.(=MH]9OIG_8K0=_*FLND<=(0)828
MDW1S*^LDW;P']K&=.WI;WPH/7?M#OR*C-^+FZ]H"R2I^NKGSL!I,1F&I[5:5
MQZ&6R#.Z+]&E-+')!OY6X!H"WTCC>7@QMOCIY67&4K7$%X6"4VHPA874C!@T
M))#BVAR(;/9GP,/S/(4BQJ+[QJ-C9S-3:N9Q22EE3B\O!?_N3?CM+Y/IW/[\
MYHY-]CS\ZYF?.J02]8=Y$9AN\*R!0NWPI>4!M:'PM$H%8]HCTQ3O1X^( D,
M@Z;K/2TEB[KBPT$3"4*K#.Z</:%+P["+2\S8L-8 40Q57O_GE6U:^ 9MJ0J!
M[';9*% 6*0M57NW010-BD+\LYYX:]XSEY;F(5@CR>80EZ?%K.H -NGGGG<+J
MT^(<$]'W'0C_[4'(K,R]:A++C.A8"5!NYWU@F^!5VPVW9Q0_NAI&]*S?P>+I
MN=YCH?#!3EF.:1H=!U5#ZH-\)QCBJXP[.9E"EWJ=3MXH.FM=B&@XH514&N5H
M^/?A/ZGNW=*K&IO&M/AI%TRB>I0=QY3DF"^,^"9PFB!D$)8NC2'9=S0ODT)<
M0#XB+7<G!*MN<^+Y\BUQ6*ZBY(<E$\<6JPT(!KCW=LC437N1$RRKL5LF DN]
M8R';4 N;#);L>A;OP]4H<P*88]I5?6=O>4]_(!R]>_:-LT\E;NZP&X04RD'-
M'X91@B.KQ^.*\L:(0=NRW_.E O/.UETQD/0D)!=41<\#\5MO'V'=9OV']."<
MQ?&$^O8]5\V09V3)_EOS\% 7WII!COB0)61THHTRG\B26[Z?NP*+X-7-^%R[
M?Q_K=&&/Z""KEK59!A(?#_V3^O\9)X.!T'7Z*/K7P4-Q/YB,NOV-827X'K#>
M6*IR* 9O]5N=B'K!E,50)*/.;EZXQFN<15LT(L7Z84L?B@NGU>7W6G=:QB,8
M!$"B!RPRJ# RZ$U"'G7\ U,*)AV:7BM2NJ+[HT_?CSY=%;8,LC=CGTS2^=3+
M-+>SJO+AF7<(*H^>+=,*WE >DX#\]AF]B -G<.=$L6-]]8"6\.J!& . GG1*
M%^2#B^1<F0X7WOA&AYL2#!T(RW"Q\<G&4989/<S]]I6N^=*5$Q$G@AYR9>L_
M/='(A7&V2&92:S7/I7 =ZK9J7%7%HR"*"/C=^R%7^ZJ,J5[Z@8\!0"J$ECC^
M^FC?#>,ZQB4;RS*,%'FN[&[4:=L[M2]N9F#:%_6CKEHO.^]FUX>YU86MC$WS
M<!,F4M_'J466RA[?)R?!&CRHNMY_4&7O=NG*9<G/D:16CT"_%YKNOD%/)+QN
MO\I.O3%^+7/5XB:W68R1>5Y?IQ]"')L.2<]71#7D46VH4[F>-@0W=$^OJG+A
M"V4!I\IL=RL)8CTFNIE6*YBUK.7 0-]></;A^U/OP._8FUP58^5?A@Y-M+>M
M=)>YS]X;S %_6";@J_S)1)DM@O<%,%Q\+X '@E 8F?(N>0#XB<T,F\8$/(;1
MVG$#!:M)_OZ#&VG^HB[(\5P1(73IC#;Z775C@C_1'5E9'E=>Q?,,/>'$,5JD
MU&\F?-?Y5.3UA5WXO@<N/>K9>K<X1:02V?5A@CM9QK8\>#GS-E(RAY\[SN)&
MY "#M"-R=ECV<C^B%I?P?GS[(7B1([A](%A1TEVAT,7^IL\_'JW?)P]L3U>W
M6VH0DUJ\"8-KWM9U]+?@*VTN20PNCA%[(?GXEW]2]]_))O0M,D=G5I]C?LBY
MW+GJMUCW?2JLT2 */F?PHO]*C",M-*WZ8>5*6F6;*D_<ZT?6_H<#)6D#F6=U
MTB&2WAB5&'>O@+AIP&&2LD64OA,4EJ@$G7*/1'LXQ0IPK@VO;8L=L@!&OYI-
M^PO%!N)6UL%]KS:Z_KMG[0_'"K,)2E$0R+@?!M,^ 0<_3*B)[3\]UGSRPVE8
MC5>7*YD>$_UI=-I(K].^)Z;1V;6I_TI_0_^71ZXA$@K22=206O_ND0WWZ[1G
MH]'6.%R5]),YE2&>O3W<8W='DW0CVT+X>]6%NM3"!0UR>O'7,[;!^-PTBQ8Y
M?Z7%^7;U+L3$\?0A';"C3[4_9 .2[W O?HP]5 /[3&LLTJMB_?_VW^:^SR\:
MR"0$.15N4:]6_V9N+ITSGGZ;8_8-BE&1LPP> +^4>*>V:98U4A;\:=#[-CZ8
MM'*]R+9@#-DJKJD_Y,-M[C\9(JYD6Q"HA$U4@:&<G/></!Z>,QG</"@"U6=
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
MF=PLU!_?M SB-&JP[&F?2' N!Y72<Q!=Q5&/DC..')IR.KE*\JX*6[2#^7F
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
M3[)+-S2PW1_Y38_Q%Y?UO_M*CZUC.]S7?U^"N2W1D*XW^\FY-[@M9TEF2RM
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
MRCP(D@7\8HM6>K-NUK_@'^R8CQF4[XB>>S.UW*]E;3-?)KYXP)''YO)B>,K
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
MGF^+&4I%1<OI)1 V'4!QS)T+#5,3:Q"[SJ2EC9G*'/G-2"@>7ZO0/NN@ED(
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
MPH#EW8T>6DGX#M_W\2-5#DI,8"<0,_I8*K\E644_44%U)J0E*]/:?SS>^\8
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
MWBCJ=D:83K_.7>:F4-6<_T,OWXM2Z,U22:<?J[E8\>6B36?,$$,\RCB,D[2
M*,TY9$4A82%27" 9\2*Q.GSO)S/X+F--UTZISH#2KUOA1'5UYM<D04<3_-Y0
MM0Q@G9%;M%6AM3<W@OP[]"["X8^7FQH[L1J+8ZXU1@5%:5.D^8<S=X]B7^PD
MZ,R,Y=6>H6O]3NN0C=X%+#6AA_E4W[QX\]\K;=;6YS5I1J22.-%0(@Y1P5*(
M3:8LBU%4()SD-&-.L6@;J@/;HC4/]0YZBXM_ PT?WJ=@=IA:AI%#(^5FRH*
MY!XP=A$Z5 38BN:X(5T7& YBM$XW^P9=]6.T*5I5YHQ^OEA>ST2;F'C]K5Q,
M1)+&&$41C')&]3:?"T@R%L$TRI.<L2C/E%/"X!EZPSLO&^KM68DAZWQ&W@^:
M;4@S&!3.SHTC"AX!1RO9@L41^ZF-'!ZT$OTPZF=WVX4^PIVI,IV0*,YQD@@8
MQ2*&2$FF=_@%@U3$*<^((@@YU6#O/GZT5?_WFISOTMY X;B&.POHNUB?D\U_
M1=X1(?32VSS\9=;8'<%.+J:[5[E'S-K*F[?E@M/I?TE:O9F)U_K9DR0G-#=I
M]5%FLEXC$D/*A8!YA K]?R(PL5HJ^X@,K%HM6=#0!88PT)2!(6T?0CN)T/DX
M6@BYW33.2V2GF-HYF;P":R<?.EIT[9Q8VR&VL]=Z9PS,IU_,>KF; -]$6.*$
MD#B.8D@2&D&4ZW]HE$N8*9'R-),H*US3 $Y3&]QQ;6GOUV\X']KW &;KM@:"
MP=5I/8' ^;"<SW'Y>1'#G8'WT!K[8/N\V$=.JRUN\M/OO\[GXFLYG6I7^-UL
MJ;\-I5ZZF_K7U]J43.>F%/].?EN^FIH &T)9S$1!(&-Y#A$O.,1IJEW;2"),
M>%PH-Z_6C?S %N"OM[>O?WOW_CVX_O :?'KS_OKNS6OP[L/=]8>_OGOU_@VX
M_OSYS=UG-W/@B*^=?1@.-3>#T?%1%^9L. $-*V##BW:U-3>@9B>@$?'#(9!5
M<20^JIGQ V;?[G@^Q<\0O:F+N&[5FV^\K@ S;9IN9S=T\6#^,P&Y+W1JDB;K
M77QI$G/,!\T6?NL/6U=.4(8B+$@&"3=[\#C3=HO&!)),?\ R0A"U:O0R((]#
MG]37'-=%<BW/H#*=QGA;93>? :X9<K-I0[PJ.\/WPB_ S3INL._8;;J\:<P-
M#U?UOV"+%9/7V''97F(,Z]X?=^\P]1KE;&6<MK8.;#X+V'5@0, #F>$A.!S5
M5@\(\;Y!'Y*4;]!4KQR?Y)-6H0>3!?^ZCLVV77=-;OQBPE&>YT@D4"*50D0E
MATPE"20138HH%SA6J5L@]1S)H2- \\=';0,6A@]0;1@!JYD&[N#OX*F:WU?T
M$?Q8ZIMJ!D\G"?J";!NB#0F=:]C6P+)%'#34VT3N*] P$#*8:RMLL #O68(C
M!WUM 3@,!%O?Z6<V7DLE*[T9;E(T[^BWK5Z!'^1R@E.E$%<<9KG>JZ)4FPN6
MQ0ARGBB4%S3*N)I\D16;VUJ-,Q1=OO?;=*V__AW]-F<:+.DWU^9*YT"SLP$!
M@7 S &L$VHQI37JW3Z>F'D[[+<4,I/KGJ(VJ]Y:B[RN][6U^&K]5H=%8D#:@
MJJ105"D*:1.!YA%D219!'&>YPABE4>S4:O<$G8%=@NTJIF;]7\U*URZ%IR"R
MT^L @KOI\[;,#<4!PLQGI JDOJ>HC*JV9T3=5]=SEWOWQ)ZO]+;@(WTV9\!=
MR\PTP@H+$D$AB5Z/>4X@BQ(&.6&%Y(2H3%J5._23&5A).Z+@J:'JW W[&#)V
MRGFYO&ZZN1:U)3A,$^P>D<)UP#Y&9.SVUSV"'NE]W7>UY^)9M6MS[9@WZGZ]
M6C[,J_*?4DRXH+'".8,J3[G986-(XSR#E/$L3Y(XD]QM#>TE-_12VA%O%M*K
M=LL,Z)H!_XWT&1PM%]I@Z#BNMVM@/C? M(ONAG; 9==*QE"K;S^Q<1=A*\$/
MUF*[NWPS. SOVA&O8\.WJJYS_%S>STI5<CI;KC^?W;];RL>%Z0+T6=[7#2KN
MYC?SV6(^+45=YUMG\^5IBCF1"D92"(@*F4&BM-U(.*.DD(APY!2/"\S?X%DB
MV]R:X'Y3T[O%,-CB&-0L-ZVQ.J;!<@ZVV?;+L0S]6NV,UPN^+,=P84/T"IQZ
M82%>C$?6RR#P!<N3"<O=R)DU@T![F(LS#)E+#LW++W(==#%'.KL\7B_?2OU$
M.C7IN2O3'GOGXDG,)$H+5L L4SE$6!00<^T"RD*1/,<R5<HII2< 3P/;\):V
M=A!;XEM!U?IXW.<X_+*7X'+\/1JT/L?=FKGM &U]X+W+X!6@2]"]@C63^S?5
M#7IXT!UG0/2"GEU?QM$+G%4'@?#XV7281_L94].&S3RF#9OB"*52F>X[$<$0
MY1F#C'!M)BF*:%%@20EWL8N[CQ_8Q!EBM1ZYF;(]".RLDK]@;@9F+=, <>+C
M,@12\[V'CZJQQP7;5[X35PW4Y_54V\.FZO;=S%3IU0Y3[5S=/=#9[5.=U_17
M_8CEXEW;?>LW:>9W2W']19N$>UE_:"H>WM*R,A- Y"3)9"$%EU!$!8((86G*
M$U#]3Y'A3!&63[KIR9?W*AU++BL5ZYTZW:-E'75 &_+@WM#_US_$>?1GX[<"
MI=D 7PP?=2#MU\^O33/$)J#FFICRO2 :JEOM=_4-\-LW&_YA+0#8%A)L20G8
M,]B^KI44U*)>=2T/MJ1MM]Q++2]H!;X"C<AF%D&7P;/^ZK5R-Y?496+ B%[/
M5PI0,?;=OLZQVO2.)M?WU=MW[-?IW!!X= ;]%OBWY:Q<RO?:5S^H"[A^G%?+
M\I_K_IFSA32UB&_UM1/M1C,18PJU6QV;J<@8$FDJ!E62Q45>:'?;*7#LQ\;
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
M<7] L%0ADXMD7*+:(_):1=T>.F[>1Y,:9U@!6[P,LK3ZP3!< D8?\9?.I+
MQB(EPN8I(5IFZBW";=4<<=8=PS_*JD[_G2"BN,!$04ZR!*)"%)"I2, LYHIG
M*6((.QU&VI$=/*EMKX'F$]T><2'FTRFM%MYC+BRAM3,]X0%S,SD'#34U"_J+
MUN4UU%R8[(:FLF"HWIKGY!ZDQ>9)HB_8:?,<$/T--\_>?4$=U,-\JN]8-+,+
M)@E6"4>40YIFTOCM"E*L_79""Y%'*,NH=&JK=TC"R4:XM\^[,[<T]J$E^Z]_
MP$E<_+E.?UT^>U0E[2*4415'69[!2)(<(A%AR,PPQC3!&.M-3\[S?/+45&(L
M:64[M.@BG/;)V3LF5/_*Y55C12_&ID@)0I$&0\E,8Y/I_1^1*(9Y$B.J%R01
M*]%B\V8FQD.F(_92N-C&?"Z1U&UY:)ZO]V3+956RU;(.7B_G9I4(FC)\6J:0
MQ6"[!,:O[CHJX-%RK>-7AG %FP%9:1:Q IO9::+ 6@.36/M]&8<Y4B0BL4",
M8;=\UB-47+Z67HFK!X[>_XK^&,4;=^_/@*['KH,XNHJBJ*TZ_3.8S6=RNZ7Z
M)3Z@R]"Q"W&ZT+NKZ5VUQ:-#>7-##,$Z1N$%_;3>P5!]EUX6]=C:)[Y?=^SF
M!<M1) 4D2IB,-(8@20B!,54DC5.59,@ITZ6/V, [MW4 9"?4\=ZWV7DO;&ZA
MH4O!\ P$.>/@'?3I$S!PB.<HJ1<)Z/0)?2I\TWN/FWHOJN5D,T->/[!^V/6W
M<C%)DY@0AC(H,4[T]D'&6JDS"A'BJ=XY1%B@Q$:I3Y,86)5WB#;?6O"[H6NI
MPSW8]&MN&(G=]-5#6&M%/2]/GWKJN[=44_^V4<N>!X^BC.<%ZU30XLH!4]6:
MGJE%P<Q,H102&F?-227%2D&>BB*B*D\C18/GH(W=;O9,EM.%36C/8FRY_QT$
M.3>%#PC:,&E>P_:T/4OX^TO,LNQ\:_V$2PW.V>FQBU/C8QM=H1BS%"GC%J3<
MY+<GD.8J@41*2F(>RURZY5N%XFQ$<]5,K6:]TZT7F_'6['"\]:4F[=*WZ&KQ
M1GPW_@;19NCXHG?J^)!&,Q"$P6WJI7R]D,D-!.=IBQR*@&\AH*2+5?6\%><C
M(M>.((Y@)$T!+](_L8Q1J"*:I8QB4B YF9G95U+<N10"[E.RTE;2:.L!/8>]
MRZ+.WTRO"E+4V2;ZIP(#/G]\G'==^L"#G)I.Y6#9<FE^-JV=ZQO,M]JUC/
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
M)G*[")A$TR]9,$4^2F1DU>T3]%!9>Z^^=)CPQVHN5GSY&S53,9?/W3G.<^W
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
M9AO.:X: :CFZZF9L- T:Z.-\U=,6/P3.=K9L./3<3%@=I-#FJ^$$O%W#M@F
MK+D!'3LAB\U]8 A6<NY$?.3"<Q]@#LO/O9[B9X^N9\M2&#M7?I&?)5]5=?53
MTVU+BK=:Q"W?XXBI?#[^@'HP98XYPDI%D%',(3(3H!B-4JABQ#DC5%I6&8S
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
M41&1D=![I8(I;8\C[=I)A*#,F4HSHCCAPG427&C0G.?#O:D;6PZ"EYVA#8>
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
M:9$G!<ZKS$8R59)CH3.%LT))+51J>&Y@J 1'Z0QLZ%NJZ-&2Q?8@)!O"4(2
MXUKR,^T(L@.M>BNVH^C.?V_.B!W06=\K5+3F^.-41NYO[Q7UL$6]__' \J7%
MP\-B_L5E?>I3T>K]:O6DU23+F3UPB I3HW-,\L(::E89+&6B*B924Y <8J@G
MZ QLJ W5)JEUU::PT+2F')[4.J4R/ZN-H B8U;8Z^-+HH*%YA1JJ$:M+^L6*
M53=R@LJX%2']HA[4>IQY/"!AL#-EJ<W;/[MYW;UM;4.M9R,>5%D6C&GNH"-2
M3)0DF+.\PFG)6)*;0N6E5S=D)'Y&K(S>7*L]+TS8*T7H(E3 (3S"6_%(6HRK
M:V &>F=4"DS-D($7P]B#?X)DW#<0ED()_\(/,GHDLMYZDS$1R(R7KHFGD[V$
M3L1EH]7HO%G,5U-5HR4MYETGH.4LG61EF9>)27"F*N520 )7F2YPIHV--A7G
MDK(+JV].$A_ZI+B%#$2/]IFOW%K8XW(J@8#1('WZ!:)#:0FV91ROC-EC!.UP
M,FBMRUGQAZMB.4WZI>M3SBK%H_+D_!IA7J:>5O]IN3#3]41+8K@4',M,$4P*
MEF"6\ )7TA0L$V7)2C%9NSL[/R>RLS;(1VPH>)M 3<F!3UI2,*^P*[^?T0=*
M!;/I1J!/_0*!#?8(ZY'L<7?E4<WMB$C/K>G8(V'&\L%:Y:UIDO#ON'0E7C_=
MV71:PQZ^TPX;S %8\7L]25BF,LTX-GE285)5Q.[(2F*2TX242::X$;""?P!U
MR!<SK-)_/G_B,S<$JR6/C ;NQQ!E^EGF0 J"6:YCPAT9VJN:C@^W(6]T95E!
M6U[BV7>  B+9/X3RJ/XA0"7/_4?($J&9Y'D->_K'=/WUS=-JO7C0RZZ6]&<[
M17=258SS4ALLB#*8,%UBH7F%*2.ZR-(\,S 0+A^B0]_Z3F<S-[G<78?H']+%
MLM:"Y&(%W,R]].>;8XZK%6C"N:&.OEORJ*-_M2EA=^ZDX2%F^ME?XFBY: ^2
M(R>F_95PF*4&?#;,0=3E=*XF;ZF_:GL@^*:WX,H?]?K6W/$?GUQ:8C&_7J^7
M4_&TKE,2BT_<4=] H!M29B0M$FQ24F"BF<2"F0RG6B1I0DC%$E#%2"2^!G8S
M31VNW&43S2R'0%#Z6"_!SQ&]@&IAOJK1ZAZ'^XCS5S4(O4,=XS\<*.FRJ:C>
M8=9ATC?L#@(U'UF%D9Q?+*Y&]8^15?G<A<9>'CZFZXN63TOKKV]^R*^NVODC
M?]"3@A.1YZ;"B7(W^95QXX0JBFF:%$EB!,NHUTW^*0)#7]VU)%%'$SFB_L.Z
MCNJDWWO%D!1X<083$C2RJT^2H*%=1Q<<;6Q7GSB[@[MZGPL+8-[J)FW9F+6U
MYO;FY+6>:Y>"(Y)519(SK#+&,"G*% O!-#8D(ZK2%2L$J+CM#+V!#6]3'8C,
M8HE>B8:HW0I_0ZIE;#-$A_^ EK:>TZ5??!%10S"#[0AWP8(EO:UI;:E'+&GU
ME#/2YGZ.VJB;MJ?HSS=CWX\%YE(7\_L[O7QXJX6;M$6)5++$4B<.,:K,L3!E
M@KD]C6A)%!>IAIC][N(#V[@CA>SG'NJZ=6 *=%<'GCG.0,F 24Q+!3LRZ&V?
M4/ $Y1'N8V4@=Y<>-\5X1*B#'.*Q9P+*UCXNYC</C[/%3ZW?3I=:6G6O/ME7
MU_8HI2DCS+B,8.8FTZ>I_:E@U-4"5"6QFVO)O0)5#UH#FY4ECCOJ:$,>.?J
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
MTNC/ACBPQ+A'87X;6QPUP*PM5 -PA,6SPL5"53Q-:%PDQ;,"'Z GGO]$X/5
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
MO$/+!FKY0#N,H)HT>M7Q@FY-\RO/4T^ W@  $H/I+PQ,(JX>8<@20:KH19F
MK3@>XD20I'OH$V$K!(99=15<"[BY:::I4DZHH1DNB%:8R+3$544TSHM,&D(4
MYQJ$CGF4RM"%% VUME[Y7X"QU%&U>,90EPH+C)W:\MQ.WB$:BWI%BA4J':4Q
M;HC4)^9!:-3[<* UMC,/3TSJR]*29S3/<9'P$A,K(19<&ZQU3C/!$U/F&F26
MO>2&SE,NN=+A4QX]5>9ILM$4 ;3=3OK=:89"F\52H^O9;/&]GN_@ &%:_/@/
M<0<=PN2/9>C]Q,:U>"_!#TS?[U.!5Z++A7J2ZS^XJZ5TE>O;-L45<"?R66K
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
M *MP^LD+VK5O?DS7;IQT-\W1]2MQ&]ZF29;AM! ))GFN,4^8P4E.2&(*03-
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
M<OE].O_T/V!VCK5GALE>1;8M53/6TUFB/9KH,$7OG,RMM>I>A/6 I9, <-?
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
M0\32M/JJZ8,0NA1<R8(I$VD7UE@6XF8_10DG,6@^B ]S^(.0^*.^"!TB@DZ
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
MU?]<(OZ\J(\#$VM#I/]K9GFLE1-D6$0CD&'D29I,_TBMWZJ?)*H/E7:2Z/>
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
M/07OM3!02B)>T29T=)),$F,8IR/-422)V!IW?5VQ@PK\J>OU$.YW@)Z_S[_
MFGA:1U.DS_/%;/'ILOVCLR7QVCDM"B#E;VJ?C4*W0JK!@*@$L:5U.Z?'J?FQ
MNCF=@JA&$NGBA7=G9ZI0*W"C9KZ@K_FB@@&GS61G<T@1A16ML]Y.[18V6-;
M<^*KE4PZ4%Z_+>9I<?8%U_CBTQ(WU4E7.TG1\* =\TC*5]NH&$3O& ^<)ZM
MY=0:78]3,VZ2P7."JY%$.L#6#JZ]N<I1#=X$XY6K_04*L<H2JQR28RZ%RCF%
M8K)]/A/_S4%YW\_0<VXL3_,X 74 NB>"0[]\2[/S/)U_NLKSX5QP$+D.[3&Q
MSNXCU:WJ%"%31%:T^1!;V_J'TMBM+W D2@X+XIXFLBZ,N!TL_.NR9DQ@=J3"
MN6'6U,3#DH%%"X&A4]K6T&6(K=/WGJ*I6W>A#>B:BF14D&TK_AY)M_A81X9-
M'-<0<@*6-)DB6KI: B@-RUZ&E+SSZ._T0'FL4G+7,MTZ *<AIC%_QR^QO*5M
M;V1QO3A;+-?3_]I(;!)=- F(-<:2,Z-E$2S&))A2'"0&960*>T%FO_6ZM>\;
M8&< CG=@:.W@V6,[)$[97/N RLQ+G96<F8]>,"=*P!R3!7A&6_\4) XV^G?,
M>Z^%V,:_"3<:^3%U_=@6O>59&0$,%*HZP-BRF)1A=,L'^BVTKJ2]M-TQJX\[
M WA8W3>X-/X@^<,WMO_+MR\X7^%SI0X_OO(86<-[\F&4A&&O47/+ Q-8>\-%
M\C@]J,B*L-H'P#I^Y$=.&+[)_+?E[GJ34 JH#(HA ND !YX11Q+CF*T405IN
M6P]7VDW1CY08? AV[O5O;2>7/[JVG(CQ].5$]*4Q[_)BG.ZK"6SD!'05(1(X
M$S(H#I@M#A41D_5@K1>>16?N,J?O2^8]UN<ATDLUL+]*,/M?",M)"MD*GB13
M,CKB40D,+")#(9&K)%)NWA6Q =D_DO8]!(6'.$Q#2+ASU_[^EG\CQ?+Q=YQ]
MQ;\MYNO/JPEBUB%91T:[T[4[$1GR1G#F?7&<.Z&C:3U1ZC2*^VBMT1N43Y+K
M#X?B>DX__KZ8&(,I&A.84SK6!"'%(!1D$;(HD@>AX1E33A\GM(\>';UA]A@I
M]OY"^-@V"7TX43(K,"!8L#9N7QZ"-HE9.HPQEX2I>8N (TGMHTU(EX ]6)(_
M*&1_79PO)V3J<&6,)V9FQ;0*EOE-AP"-JMXPBN,P(XD.I73<AX"> 7NP'']4
MO-+/3B)P="@T$U@3.I4J#%30+'.78S)!\ X,@DKIN,\(7>/U4#GV&R9[LYA_
M^HC+LY\QKG^#Y9(^^?64IX*=WVL4SMJ?YD8AJIL+7D%..FM!U);*J$C^A 4&
MX JS44J;T45E6Z=8/43'J5JL?NOUO/9ZKIG!VQS0*&/,!LG&33HP75)BX+TG
M52QCU@ <[K; /WEK#Y Q;D#H9)G?53.G,KH##_CV%C95@#P .J =!$_J5EM1
MIP^2BR1DS:A,$%"VGH9UGXIQD7*R8'<"Y6 N=X>3&W4,41L)B9B1K(;J1G-&
M]#M61$K:%NM-:9VP\Q@M/6'F<!GOA,R1#!\[D? %R4Y^P/ETL7Q%2T_75_4J
MES.;K4P"2V RUP'0D1?FM98L2U \EIQ]W&]NPU,K]82-8X6Y&(JS'<!$A%V;
ML0:3J9U51:G5Z9[8Y+5WS('S 9SF3NX-DYTKC1OF'P0F[3@[-DQV[4,%![Q>
MS%QIPS2AG_F(F8$L44A?;.;[9>>="H[!XNGMP=&*GQV8)]6T7U^8]A_I[VRN
M7]HY%EYS:3;]NK4QC+SX7'-4C0FI8'!#N'-WZ>A)IYQNRI[,Z0[1<G&0E,Z*
MB$W,\MI40I%6#& BB^0><A]5,+;UH_3#E(SO)I\FX2<@<P2[>P#-=(YORU9;
M7H[/LB(*3_S@R6>F!0H6E 4&9&1I%[3GH77FTGTJ^@++,;*]"Y?3&-T!5/Y&
MI)^?U5#3;XLU7I;FUQ=ER[-@IDC--.1$FRB2D1]HG!;6%(&-T?(@(>/>1P,
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
M;B43WY]-L_6ZT/P@#$U]*7.RLC;_>'#ZL4L3F%511F=I[9G2_ZJ Z'0&9D3
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
M+\1W_Z'^(X85_O=__1]02P$"% ,4    " "@/J%8>*9LO+('  "N*   %
M            @ $     <3$R,#(T97AH:6)I=#,Q,2YH=&U02P$"% ,4
M" "@/J%8*1,K2:X'  !2*   %               @ 'D!P  <3$R,#(T97AH
M:6)I=#,Q,BYH=&U02P$"% ,4    " "@/J%8O1;Z ,L$  #<$   %
M        @ '$#P  <3$R,#(T97AH:6)I=#,R,2YH=&U02P$"% ,4    " "@
M/J%894".D-4$   )$0  %               @ '!%   <3$R,#(T97AH:6)I
M=#,R,BYH=&U02P$"% ,4    " "@/J%819RLH1O/  !$G0P $0
M    @ '(&0  <F]C:RTR,#(T,#,S,2YH=&U02P$"% ,4    " "@/J%8#+TZ
MRZ$.  #1F0  $0              @ $2Z0  <F]C:RTR,#(T,#,S,2YX<V10
M2P$"% ,4    " "@/J%8UHHB["(5  !PP@  %0              @ 'B]P
M<F]C:RTR,#(T,#,S,5]C86PN>&UL4$L! A0#%     @ H#ZA6'33]10"-P
M('X" !4              ( !-PT! ')O8VLM,C R-# S,S%?9&5F+GAM;%!+
M 0(4 Q0    ( * ^H5BIM]#;Q-D! '5  @ 4              "  6Q$ 0!R
M;V-K+3(P,C0P,S,Q7V<Q+FIP9U!+ 0(4 Q0    ( * ^H5B^;#]IE*(  &<]
M!@ 5              "  6(> P!R;V-K+3(P,C0P,S,Q7VQA8BYX;6Q02P$"
M% ,4    " "@/J%84]1A?Y1G  "$F 0 %0              @ $IP0, <F]C
H:RTR,#(T,#,S,5]P<F4N>&UL4$L%!@     +  L U (  / H!     $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>rock-20240331_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/20240331"
  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-20240331.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2024-04-29</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c-8">
        <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-9">
        <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-10">
        <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-11">
        <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-12">
        <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-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>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-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:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-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:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </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:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </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:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-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:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-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:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-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:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-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:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </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:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </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:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-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:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-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:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </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:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </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:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-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:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-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:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-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>
            <instant>2023-03-31</instant>
        </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:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-39">
        <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-40">
        <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-41">
        <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-42">
        <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-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</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="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-46">
        <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-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-49">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-50">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-53">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-54">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-55">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-56">
        <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-57">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-58">
        <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-59">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-60">
        <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-61">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-62">
        <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-63">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-64">
        <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-65">
        <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>2022-12-08</instant>
        </period>
    </context>
    <context id="c-66">
        <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:MediumTermNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-67">
        <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-68">
        <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:ForeignCurrencyRateFloorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-69">
        <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-70">
        <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-71">
        <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-72">
        <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-73">
        <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>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-74">
        <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>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-75">
        <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-76">
        <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>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-77">
        <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>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-78">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-79">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-80">
        <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-81">
        <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-82">
        <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-83">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-84">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-85">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-86">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-87">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-88">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-89">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-90">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-91">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-92">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-93">
        <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-94">
        <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-95">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-96">
        <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-97">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-100">
        <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:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-101">
        <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:RenewableEnergyandConservationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-102">
        <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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-103">
        <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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-104">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-105">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-106">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-107">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-108">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-109">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-110">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-111">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-112">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-113">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-114">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-115">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-116">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-117">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-118">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-119">
        <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-120">
        <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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c-121">
        <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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-122">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-123">
        <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-124">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-125">
        <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-126">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="c-127">
        <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-128">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-130">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-131">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-132">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-133">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-135">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-136">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-137">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-138">
        <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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-139">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-141">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-142">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-143">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-144">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-146">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-147">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-148">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-149">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c-151">
        <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-03-31</endDate>
        </period>
    </context>
    <context id="c-152">
        <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-03-31</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="debtcovenant">
        <measure>rock:debtCovenant</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>rock:segment</measure>
    </unit>
    <dei:AmendmentFlag contextRef="c-1" id="f-26">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-27">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-28">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-29">0000912562</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-30">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType contextRef="c-1" id="f-1">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="c-1" id="f-2">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">000-22462</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-6">GIBRALTAR INDUSTRIES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-7">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-8">16-1445150</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-9">3556 Lake Shore Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="c-1" id="f-10">P.O. Box 2028</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-11">Buffalo</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-12">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-13">14219-0228</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-14">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-15">826-6500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-16">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-17">ROCK</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-18">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-19">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-20">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-21">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-22">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-23">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="c-1" id="f-24">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-2" decimals="INF" id="f-25" unitRef="shares">30469729</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-31" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-3" decimals="-3" id="f-32" unitRef="usd">293267000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-33" unitRef="usd">208118000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-3" decimals="-3" id="f-34" unitRef="usd">216338000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-35" unitRef="usd">84388000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-3" decimals="-3" id="f-36" unitRef="usd">76929000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-37" unitRef="usd">52652000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-3" decimals="-3" id="f-38" unitRef="usd">47559000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-39" unitRef="usd">31736000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-3" decimals="-3" id="f-40" unitRef="usd">29370000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-1" decimals="-3" id="f-41" unitRef="usd">750000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-3" decimals="-3" id="f-42" unitRef="usd">-1491000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-43" unitRef="usd">1021000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-3" decimals="-3" id="f-44" unitRef="usd">397000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-45" unitRef="usd">33507000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-46" unitRef="usd">28276000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-47" unitRef="usd">8561000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-3" decimals="-3" id="f-48" unitRef="usd">7177000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-49" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-50" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-1"
      decimals="2"
      id="f-51"
      unitRef="usdPerShare">0.82</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-3"
      decimals="2"
      id="f-52"
      unitRef="usdPerShare">0.68</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-1"
      decimals="2"
      id="f-53"
      unitRef="usdPerShare">0.81</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-3"
      decimals="2"
      id="f-54"
      unitRef="usdPerShare">0.68</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-55" unitRef="shares">30572000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-3" decimals="-3" id="f-56" unitRef="shares">30897000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-57" unitRef="shares">30793000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-3" decimals="-3" id="f-58" unitRef="shares">31024000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-59" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-60" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-61" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-3" decimals="-3" id="f-62" unitRef="usd">-107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-63" unitRef="usd">23982000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-3" decimals="-3" id="f-64" unitRef="usd">20992000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-65" unitRef="usd">146665000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-66" unitRef="usd">99426000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-67" unitRef="usd">5578000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-68" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-69" unitRef="usd">230971000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-70" unitRef="usd">224550000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-71" unitRef="usd">137878000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-72" unitRef="usd">120503000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-73" unitRef="usd">15205000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-74" unitRef="usd">17772000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-75" unitRef="usd">530719000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-76" unitRef="usd">462251000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-77" unitRef="usd">108028000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-78" unitRef="usd">107603000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-79" unitRef="usd">42592000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-80" unitRef="usd">44918000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-81" unitRef="usd">511797000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-82" unitRef="usd">513383000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-83" unitRef="usd">124257000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-84" unitRef="usd">125980000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-85" unitRef="usd">2464000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-86" unitRef="usd">2316000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-87" unitRef="usd">1319857000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-88" unitRef="usd">1256451000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-89" unitRef="usd">127533000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-90" unitRef="usd">92124000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-91" unitRef="usd">82805000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-92" unitRef="usd">88719000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-93" unitRef="usd">53261000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-94" unitRef="usd">44735000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-95" unitRef="usd">263599000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-96" unitRef="usd">225578000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-4" decimals="-3" id="f-97" unitRef="usd">57106000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-5" decimals="-3" id="f-98" unitRef="usd">57103000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-99" unitRef="usd">33793000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-100" unitRef="usd">35989000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-101" unitRef="usd">25174000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-102" unitRef="usd">22783000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-103"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-104"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-105" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-106" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-5" decimals="INF" id="f-107" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-108" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="c-4" decimals="-3" id="f-109" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-5" decimals="-3" id="f-110" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-111"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-112"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-113" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-114" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-5" decimals="-3" id="f-115" unitRef="shares">34266000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="-3" id="f-116" unitRef="shares">34266000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="-3" id="f-117" unitRef="shares">34219000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-5" decimals="-3" id="f-118" unitRef="shares">34219000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-119" unitRef="usd">343000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-5" decimals="-3" id="f-120" unitRef="usd">342000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-121" unitRef="usd">335259000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-5" decimals="-3" id="f-122" unitRef="usd">332621000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-123" unitRef="usd">763457000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-124" unitRef="usd">738511000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-125" unitRef="usd">-3078000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-126" unitRef="usd">-2114000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockCommonShares contextRef="c-4" decimals="-3" id="f-127" unitRef="shares">3797000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c-5" decimals="-3" id="f-128" unitRef="shares">3778000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue contextRef="c-4" decimals="-3" id="f-129" unitRef="usd">155796000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="c-5" decimals="-3" id="f-130" unitRef="usd">154362000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-131" unitRef="usd">940185000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-132" unitRef="usd">914998000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-133" unitRef="usd">1319857000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-134" unitRef="usd">1256451000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-135" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-136" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-137" unitRef="usd">6663000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-3" decimals="-3" id="f-138" unitRef="usd">6834000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-139" unitRef="usd">2639000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-3" decimals="-3" id="f-140" unitRef="usd">1594000</us-gaap:ShareBasedCompensation>
    <rock:NoncashProjectAbandonmentCostsReversalOfCosts contextRef="c-1" decimals="-3" id="f-141" unitRef="usd">-72000</rock:NoncashProjectAbandonmentCostsReversalOfCosts>
    <rock:NoncashProjectAbandonmentCostsReversalOfCosts contextRef="c-3" decimals="-3" id="f-142" unitRef="usd">-63000</rock:NoncashProjectAbandonmentCostsReversalOfCosts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-143" unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-3" decimals="-3" id="f-144" unitRef="usd">-51000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement contextRef="c-1" decimals="-3" id="f-145" unitRef="usd">1691000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement contextRef="c-3" decimals="-3" id="f-146" unitRef="usd">1023000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-147" unitRef="usd">6950000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-3" decimals="-3" id="f-148" unitRef="usd">18004000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-1" decimals="-3" id="f-149" unitRef="usd">17231000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-3" decimals="-3" id="f-150" unitRef="usd">1586000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-1" decimals="-3" id="f-151" unitRef="usd">-453000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-3" decimals="-3" id="f-152" unitRef="usd">-2536000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-153" unitRef="usd">35455000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-3" decimals="-3" id="f-154" unitRef="usd">23077000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-1" decimals="-3" id="f-155" unitRef="usd">5587000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-3" decimals="-3" id="f-156" unitRef="usd">1586000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-157" unitRef="usd">53181000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-3" decimals="-3" id="f-158" unitRef="usd">38045000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-159" unitRef="usd">4366000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-3" decimals="-3" id="f-160" unitRef="usd">2190000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-1" decimals="-3" id="f-161" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-3" decimals="-3" id="f-162" unitRef="usd">-554000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-163" unitRef="usd">-4366000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-3" decimals="-3" id="f-164" unitRef="usd">-1636000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-1" decimals="-3" id="f-165" unitRef="usd">0</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-3" decimals="-3" id="f-166" unitRef="usd">50000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-1" decimals="-3" id="f-167" unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-3" decimals="-3" id="f-168" unitRef="usd">11000000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-169" unitRef="usd">1434000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-3" decimals="-3" id="f-170" unitRef="usd">7509000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-171" unitRef="usd">-1434000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-3" decimals="-3" id="f-172" unitRef="usd">-46509000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-1" decimals="-3" id="f-173" unitRef="usd">-142000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-3" decimals="-3" id="f-174" unitRef="usd">-11000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-175" unitRef="usd">47239000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-3" decimals="-3" id="f-176" unitRef="usd">-10111000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-177" unitRef="usd">99426000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-6" decimals="-3" id="f-178" unitRef="usd">17608000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-179" unitRef="usd">146665000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-7" decimals="-3" id="f-180" unitRef="usd">7497000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-8" decimals="-3" id="f-181" unitRef="shares">34219000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-182" unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-183" unitRef="usd">332621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-184" unitRef="usd">738511000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-185" unitRef="usd">-2114000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-12" decimals="-3" id="f-186" unitRef="shares">3778000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-187" unitRef="usd">-154362000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-188" unitRef="usd">914998000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-13" decimals="-3" id="f-189" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-190" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-14" decimals="-3" id="f-191" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-192" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-15" decimals="-3" id="f-193" unitRef="usd">2639000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-194" unitRef="usd">2639000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-16" decimals="-3" id="f-195" unitRef="shares">47000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-16" decimals="-3" id="f-196" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-15" decimals="-3" id="f-197" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-17" decimals="-3" id="f-198" unitRef="shares">19000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-17" decimals="-3" id="f-199" unitRef="usd">-1434000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-1" decimals="-3" id="f-200" unitRef="usd">-1434000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-18" decimals="-3" id="f-201" unitRef="shares">34266000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-18" decimals="-3" id="f-202" unitRef="usd">343000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-19" decimals="-3" id="f-203" unitRef="usd">335259000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-204" unitRef="usd">763457000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-205" unitRef="usd">-3078000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-22" decimals="-3" id="f-206" unitRef="shares">3797000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-207" unitRef="usd">-155796000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-208" unitRef="usd">940185000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-23" decimals="-3" id="f-209" unitRef="shares">34060000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-210" unitRef="usd">340000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-211" unitRef="usd">322873000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-212" unitRef="usd">627978000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-26" decimals="-3" id="f-213" unitRef="usd">-3432000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-27" decimals="-3" id="f-214" unitRef="shares">3199000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-27" decimals="-3" id="f-215" unitRef="usd">-125660000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-6" decimals="-3" id="f-216" unitRef="usd">822099000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-28" decimals="-3" id="f-217" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-218" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-29" decimals="-3" id="f-219" unitRef="usd">-107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-3" decimals="-3" id="f-220" unitRef="usd">-107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-30" decimals="-3" id="f-221" unitRef="usd">1594000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-3" decimals="-3" id="f-222" unitRef="usd">1594000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-31" decimals="-3" id="f-223" unitRef="shares">88000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-31" decimals="-3" id="f-224" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-30" decimals="-3" id="f-225" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-32" decimals="-3" id="f-226" unitRef="shares">36000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-32" decimals="-3" id="f-227" unitRef="usd">-1929000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-3" decimals="-3" id="f-228" unitRef="usd">-1929000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-32" decimals="-3" id="f-229" unitRef="shares">154000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-32" decimals="-3" id="f-230" unitRef="usd">7369000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-3" decimals="-3" id="f-231" unitRef="usd">7369000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-33" decimals="-3" id="f-232" unitRef="shares">34148000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-233" unitRef="usd">341000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-234" unitRef="usd">324466000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-235" unitRef="usd">649077000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-236" unitRef="usd">-3539000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-37" decimals="-3" id="f-237" unitRef="shares">3389000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-238" unitRef="usd">-134958000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-7" decimals="-3" id="f-239" unitRef="usd">835387000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c-1" id="f-240">BASIS OF PRESENTATION&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 accompanying unaudited consolidated financial statements of Gibraltar Industries, Inc. (the "Company") have been prepared by management in accordance with U.S. generally accepted accounting principles for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, all adjustments (consisting of normal recurring adjustments) considered necessary for the fair presentation of results for the interim period have been included. The Company's operations are seasonal; for this and other reasons financial results for any interim period are not necessarily indicative of the results expected for any subsequent interim period or for the full year. The accompanying unaudited consolidated financial statements should be read in conjunction with the financial statements and notes thereto included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 balance sheet at&#160;December&#160;31, 2023&#160;has been derived from the audited financial statements at that date, but does not include all of the information and footnotes required by U.S. generally accepted accounting principles for complete financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 evaluated all recent Accounting Standard Updates, including those that are currently effective in or after 2024, and determined that the adoption of these pronouncements would not have a material effect on the financial position, results of operations or cash flows of the Company.  There have been no material changes from the recent accounting pronouncements previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-241">&lt;div style="margin-top:10pt;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;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 evaluated all recent Accounting Standard Updates, including those that are currently effective in or after 2024, and determined that the adoption of these pronouncements would not have a material effect on the financial position, results of operations or cash flows of the Company.  There have been no material changes from the recent accounting pronouncements previously disclosed in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c-1" id="f-242">ACCOUNTS RECEIVABLE, NET&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:56.063%"&gt;&lt;/td&gt;&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.952%"&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:19.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:10pt;font-weight:700;line-height:100%"&gt;March 31, 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 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;December 31, 2023&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;194,343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;42,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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 receivable&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;236,549&#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: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 #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;Less allowance for doubtful accounts and contract 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;(5,578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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 #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;230,971&#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 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;224,550&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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;&lt;div style="margin-top:10pt;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 roll-forward of the allowance for credit losses, for the three month period ended March&#160;31, 2024, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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:77.847%"&gt;&lt;/td&gt;&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.953%"&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: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 as of January 1, 2024&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;5,572&#160;&lt;/span&gt;&lt;/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;/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;Bad debt expense, net of recoveries&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;20&#160;&lt;/span&gt;&lt;/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;Accounts written off against allowance and other 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;(14)&lt;/span&gt;&lt;/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;Ending balance as of March 31, 2024&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;5,578&#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:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="c-1" id="f-243">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:56.063%"&gt;&lt;/td&gt;&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.952%"&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:19.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:10pt;font-weight:700;line-height:100%"&gt;March 31, 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 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;December 31, 2023&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;194,343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;42,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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 receivable&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;236,549&#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: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 #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;Less allowance for doubtful accounts and contract 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;(5,578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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 #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;230,971&#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 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;224,550&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 roll-forward of the allowance for credit losses, for the three month period ended March&#160;31, 2024, that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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:77.847%"&gt;&lt;/td&gt;&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.953%"&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: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 as of January 1, 2024&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;5,572&#160;&lt;/span&gt;&lt;/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;/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;Bad debt expense, net of recoveries&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;20&#160;&lt;/span&gt;&lt;/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;Accounts written off against allowance and other 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;(14)&lt;/span&gt;&lt;/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;Ending balance as of March 31, 2024&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;5,578&#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-4" decimals="-3" id="f-244" unitRef="usd">194343000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c-5" decimals="-3" id="f-245" unitRef="usd">178087000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:UnbilledContractsReceivable contextRef="c-4" decimals="-3" id="f-246" unitRef="usd">42206000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable contextRef="c-5" decimals="-3" id="f-247" unitRef="usd">52035000</us-gaap:UnbilledContractsReceivable>
    <rock:ContractsReceivableGrossCurrent contextRef="c-4" decimals="-3" id="f-248" unitRef="usd">236549000</rock:ContractsReceivableGrossCurrent>
    <rock:ContractsReceivableGrossCurrent contextRef="c-5" decimals="-3" id="f-249" unitRef="usd">230122000</rock:ContractsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-250" unitRef="usd">5578000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-251" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-252" unitRef="usd">230971000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-253" unitRef="usd">224550000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-5" decimals="-3" id="f-254" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-255" unitRef="usd">20000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-1" decimals="-3" id="f-256" unitRef="usd">14000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-4" decimals="-3" id="f-257" unitRef="usd">5578000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-258">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:10pt;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 13 "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:10pt;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 March&#160;31, 2024, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 cost, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2024 and December 31, 2023 was $7.7&#160;million and $3.9&#160;million, respectively.  Revenue recognized during the three months ended March&#160;31, 2024 and 2023 that was in contract liabilities at the beginning of the respective periods was $27.7&#160;million and $18.7&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-38" id="f-259">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:ContractWithCustomerLiability contextRef="c-4" decimals="-5" id="f-260" unitRef="usd">7700000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-5" decimals="-5" id="f-261" unitRef="usd">3900000</us-gaap:ContractWithCustomerLiability>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized contextRef="c-1" decimals="-5" id="f-262" unitRef="usd">27700000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized contextRef="c-3" decimals="-5" id="f-263" unitRef="usd">18700000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c-1" id="f-264">INVENTORIES, NET&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:56.063%"&gt;&lt;/td&gt;&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.952%"&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:19.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:10pt;font-weight:700;line-height:100%"&gt;March 31, 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;December 31, 2023&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;84,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;12,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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;47,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/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 #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;144,735&#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;129,939&#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;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;(6,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(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;/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, net&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;137,878&#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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c-1" id="f-265">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:56.063%"&gt;&lt;/td&gt;&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.952%"&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:19.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:10pt;font-weight:700;line-height:100%"&gt;March 31, 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;December 31, 2023&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;84,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;12,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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;47,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/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 #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;144,735&#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;129,939&#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;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;(6,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(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;/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, net&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;137,878&#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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="c-4" decimals="-3" id="f-266" unitRef="usd">84524000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="c-5" decimals="-3" id="f-267" unitRef="usd">77489000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="c-4" decimals="-3" id="f-268" unitRef="usd">12400000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="c-5" decimals="-3" id="f-269" unitRef="usd">9508000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="c-4" decimals="-3" id="f-270" unitRef="usd">47811000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="c-5" decimals="-3" id="f-271" unitRef="usd">42942000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="c-4" decimals="-3" id="f-272" unitRef="usd">144735000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c-5" decimals="-3" id="f-273" unitRef="usd">129939000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves contextRef="c-4" decimals="-3" id="f-274" unitRef="usd">6857000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c-5" decimals="-3" id="f-275" unitRef="usd">9436000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-276" unitRef="usd">137878000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-277" unitRef="usd">120503000</us-gaap:InventoryNet>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="c-1" id="f-278">ACQUISITION&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 company 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 this acquisition was $10.4&#160;million, which includes a 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:10pt;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 $3.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:10pt;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: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;6,310&#160;&lt;/span&gt;&lt;/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;3,023&#160;&lt;/span&gt;&lt;/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&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;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;3 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;6,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;6,310&#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:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In determining the allocation of the purchase price to the assets acquired and liabilities assumed, the Company uses all available information to make fair value determinations using Level 3 unobservable inputs in which little or no market data exists, and therefore, 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:10pt;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 was financed primarily through borrowings under the Company's revolving credit facility.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-39" decimals="-5" id="f-279" unitRef="usd">10400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Goodwill contextRef="c-40" decimals="-5" id="f-280" unitRef="usd">3000000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="c-1" id="f-281">&lt;div style="margin-top:10pt;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: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;6,310&#160;&lt;/span&gt;&lt;/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;3,023&#160;&lt;/span&gt;&lt;/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;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital contextRef="c-40" decimals="-3" id="f-282" unitRef="usd">827000</rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="c-40" decimals="-3" id="f-283" unitRef="usd">195000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="c-40" decimals="-3" id="f-284" unitRef="usd">6310000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets contextRef="c-40" decimals="-3" id="f-285" unitRef="usd">134000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities contextRef="c-40" decimals="-3" id="f-286" unitRef="usd">72000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:Goodwill contextRef="c-40" decimals="-3" id="f-287" unitRef="usd">3023000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-40" decimals="-3" id="f-288" unitRef="usd">10417000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock contextRef="c-1" id="f-289">&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&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;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;3 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;6,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;6,310&#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;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-41" decimals="-3" id="f-290" unitRef="usd">250000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-41" id="f-291">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-42" decimals="-3" id="f-292" unitRef="usd">6060000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-42" id="f-293">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-39" decimals="-3" id="f-294" unitRef="usd">6310000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-295">GOODWILL AND RELATED INTANGIBLE ASSETS&lt;div style="margin-top:5pt"&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&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;The changes in the carrying amount of goodwill for the three months ended March&#160;31, 2024 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:32.576%"&gt;&lt;/td&gt;&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.388%"&gt;&lt;/td&gt;&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.664%"&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:12.282%"&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.697%"&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:9.5pt;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:9.5pt;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:9.5pt;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, 2023&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;184,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;213,576&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;83,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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 #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;513,383&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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: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;Adjustments to prior year acquisitions&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,110)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;(1,110)&lt;/span&gt;&lt;/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;Foreign currency translation&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;(476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(476)&lt;/span&gt;&lt;/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 March 31, 2024&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;212,466&#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,423&#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;511,797&#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:10pt;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&#160;million as of March&#160;31, 2024 and December 31, 2023, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 required to regularly assess whether a triggering event has occurred which would require interim impairment testing. The Company determined that no triggering event had occurred as of March&#160;31, 2024 which would require an interim impairment test to be performed.&lt;/span&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%;text-decoration:underline"&gt;Acquired Intangible Assets&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;Acquired intangible assets 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:35.888%"&gt;&lt;/td&gt;&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.104%"&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.104%"&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.104%"&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.110%"&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;March 31, 2024&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, 2023&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:10pt;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:9.5pt;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:10pt;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:10pt;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="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="border-top:1pt solid #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:1pt solid #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:1pt solid #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: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:#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;Trademarks&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;52,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 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;&#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: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;52,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 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;&#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;/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;Finite-lived intangible 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;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="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;Trademarks&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,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Unpatented technology&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;31,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#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;Customer relationships&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;101,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;39,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;110,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;48,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Non-compete agreements&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;722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#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;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 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;136,127&#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:10pt;font-weight:400;line-height:100%"&gt;64,170&#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:10pt;font-weight:400;line-height:100%"&gt;152,931&#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:10pt;font-weight:400;line-height:100%"&gt;79,251&#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="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;Total acquired intangible assets&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;188,427&#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;64,170&#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;205,231&#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;79,251&#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="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:10pt;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 the acquired intangible asset amortization expense for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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;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;2,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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:10pt;text-align:justify"&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 remainder of fiscal 2024 and the next five years thereafter is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:33.307%"&gt;&lt;/td&gt;&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.295%"&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:9.295%"&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:9.295%"&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:9.148%"&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:9.148%"&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:9.152%"&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;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;2029&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;7,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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="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,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="c-1" id="f-296">&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 changes in the carrying amount of goodwill for the three months ended March&#160;31, 2024 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:32.576%"&gt;&lt;/td&gt;&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.388%"&gt;&lt;/td&gt;&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.664%"&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:12.282%"&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.697%"&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:9.5pt;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:9.5pt;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:9.5pt;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, 2023&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;184,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;213,576&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;83,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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 #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;513,383&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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: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;Adjustments to prior year acquisitions&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,110)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;(1,110)&lt;/span&gt;&lt;/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;Foreign currency translation&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;(476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(476)&lt;/span&gt;&lt;/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 March 31, 2024&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;212,466&#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,423&#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;511,797&#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-43" decimals="-3" id="f-297" unitRef="usd">184230000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-44" decimals="-3" id="f-298" unitRef="usd">213576000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-45" decimals="-3" id="f-299" unitRef="usd">83899000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-46" decimals="-3" id="f-300" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-301" unitRef="usd">513383000</us-gaap:Goodwill>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-47" decimals="-3" id="f-302" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-48" decimals="-3" id="f-303" unitRef="usd">-1110000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-49" decimals="-3" id="f-304" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-50" decimals="-3" id="f-305" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-1" decimals="-3" id="f-306" unitRef="usd">-1110000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-47" decimals="-3" id="f-307" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-48" decimals="-3" id="f-308" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-49" decimals="-3" id="f-309" unitRef="usd">-476000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-50" decimals="-3" id="f-310" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-311" unitRef="usd">-476000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-51" decimals="-3" id="f-312" unitRef="usd">184230000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-52" decimals="-3" id="f-313" unitRef="usd">212466000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-53" decimals="-3" id="f-314" unitRef="usd">83423000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-54" decimals="-3" id="f-315" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-316" unitRef="usd">511797000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-5" decimals="-5" id="f-317" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-4" decimals="-5" id="f-318" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="c-1" id="f-319">&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;Acquired intangible assets 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:35.888%"&gt;&lt;/td&gt;&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.104%"&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.104%"&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.104%"&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.110%"&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;March 31, 2024&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, 2023&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:10pt;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:9.5pt;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:10pt;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:10pt;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="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="border-top:1pt solid #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:1pt solid #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:1pt solid #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: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:#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;Trademarks&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;52,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 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;&#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: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;52,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 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;&#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;/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;Finite-lived intangible 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;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="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;Trademarks&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,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Unpatented technology&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;31,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#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;Customer relationships&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;101,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;39,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;110,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;48,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Non-compete agreements&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;722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#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;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 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;136,127&#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:10pt;font-weight:400;line-height:100%"&gt;64,170&#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:10pt;font-weight:400;line-height:100%"&gt;152,931&#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:10pt;font-weight:400;line-height:100%"&gt;79,251&#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="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;Total acquired intangible assets&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;188,427&#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;64,170&#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;205,231&#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;79,251&#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="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-55" decimals="-3" id="f-320" unitRef="usd">52300000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-55" decimals="-3" id="f-321" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-56" decimals="-3" id="f-322" unitRef="usd">52300000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-56" decimals="-3" id="f-323" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-57" decimals="-3" id="f-324" unitRef="usd">2550000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-57" decimals="-3" id="f-325" unitRef="usd">1611000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-58" decimals="-3" id="f-326" unitRef="usd">5773000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-58" decimals="-3" id="f-327" unitRef="usd">4714000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-59" decimals="-3" id="f-328" unitRef="usd">31812000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-59" decimals="-3" id="f-329" unitRef="usd">22587000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-60" decimals="-3" id="f-330" unitRef="usd">34133000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-60" decimals="-3" id="f-331" unitRef="usd">24295000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-61" decimals="-3" id="f-332" unitRef="usd">101043000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-61" decimals="-3" id="f-333" unitRef="usd">39435000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-62" decimals="-3" id="f-334" unitRef="usd">110649000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-62" decimals="-3" id="f-335" unitRef="usd">48088000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-63" decimals="-3" id="f-336" unitRef="usd">722000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-63" decimals="-3" id="f-337" unitRef="usd">537000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-64" decimals="-3" id="f-338" unitRef="usd">2376000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-64" decimals="-3" id="f-339" unitRef="usd">2154000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-340" unitRef="usd">136127000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-341" unitRef="usd">64170000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-5" decimals="-3" id="f-342" unitRef="usd">152931000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-343" unitRef="usd">79251000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-4" decimals="-3" id="f-344" unitRef="usd">188427000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-345" unitRef="usd">64170000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-5" decimals="-3" id="f-346" unitRef="usd">205231000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-347" unitRef="usd">79251000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock contextRef="c-1" id="f-348">&lt;div style="margin-top:10pt;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 the acquired intangible asset amortization expense for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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;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;2,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-3" id="f-349" unitRef="usd">2718000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-3" decimals="-3" id="f-350" unitRef="usd">2766000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-351">&lt;div style="margin-top:10pt;text-align:justify"&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 remainder of fiscal 2024 and the next five years thereafter is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:33.307%"&gt;&lt;/td&gt;&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.295%"&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:9.295%"&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:9.295%"&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:9.148%"&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:9.148%"&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:9.152%"&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;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;2029&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;7,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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="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,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear contextRef="c-4" decimals="-3" id="f-352" unitRef="usd">7926000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-4" decimals="-3" id="f-353" unitRef="usd">10485000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-4" decimals="-3" id="f-354" unitRef="usd">9897000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-4" decimals="-3" id="f-355" unitRef="usd">7639000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-4" decimals="-3" id="f-356" unitRef="usd">7281000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c-4" decimals="-3" id="f-357" unitRef="usd">7232000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:LongTermDebtTextBlock contextRef="c-1" id="f-358">LONG-TERM 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 March 31, 2024 and December 31, 2023, respectively.  Unamortized debt issuance costs, included in other assets on the consolidated balance sheets, as of March 31, 2024 and December 31, 2023 were $1.7&#160;million and $1.7&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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: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 December 8, 2022, the Company entered into a Credit Agreement (the "Credit Agreement") which 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 Credit Agreement contains two financial covenants.  As of March&#160;31, 2024, 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:10pt;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:10pt;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:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Standby letters of credit of $3.7&#160;million have been issued under the Credit Agreement to third parties on behalf of the Company as of March 31, 2024. These letters of credit reduce the amount otherwise available under the revolving credit facility. The Company had $396.3&#160;million and $396.1&#160;million of availability under the revolving credit facility as of March 31, 2024 and December 31, 2023, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt contextRef="c-4" decimals="-5" id="f-359" unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-5" decimals="-5" id="f-360" unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-4" decimals="-5" id="f-361" unitRef="usd">1700000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-5" decimals="-5" id="f-362" unitRef="usd">1700000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-65" decimals="-6" id="f-363" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-65" decimals="-6" id="f-364" unitRef="usd">700000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-66" decimals="INF" id="f-365" unitRef="usd">300000000</us-gaap:DebtInstrumentFaceAmount>
    <rock:DebtInstrumentNumberOfDebtCovenants
      contextRef="c-67"
      decimals="INF"
      id="f-366"
      unitRef="debtcovenant">2</rock:DebtInstrumentNumberOfDebtCovenants>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c-68"
      decimals="INF"
      id="f-367"
      unitRef="number">0</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-69" decimals="5" id="f-368" unitRef="number">0.00125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-70" decimals="5" id="f-369" unitRef="number">0.01125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-71" decimals="5" id="f-370" unitRef="number">0.00125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-72" decimals="2" id="f-371" unitRef="number">0.0100</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-73"
      decimals="INF"
      id="f-372"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-74"
      decimals="INF"
      id="f-373"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c-75" decimals="4" id="f-374" unitRef="number">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="c-76"
      decimals="INF"
      id="f-375"
      unitRef="number">0.0020</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="c-77"
      decimals="INF"
      id="f-376"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-78" decimals="-5" id="f-377" unitRef="usd">3700000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-79" decimals="-5" id="f-378" unitRef="usd">396300000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-80" decimals="-5" id="f-379" unitRef="usd">396100000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-380">EQUITY-BASED COMPENSATION&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 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 includes a total of 1,631,707 shares available for issuance.  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:10pt;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 Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which includes 200,000 shares available for issuance, 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:10pt;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 Stock&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;The following table provides the number of stock units granted during the three months ended March 31, along with the weighted-average grant-date fair value of each award:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:45.459%"&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.385%"&gt;&lt;/td&gt;&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.345%"&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.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.641%"&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="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;2024&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;2023&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:10pt;font-weight:700;line-height:120%"&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:10pt;font-weight:700;line-height:120%"&gt;Number&#160;of&lt;br/&gt;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:10pt;font-weight:700;line-height:120%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant-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:10pt;font-weight:700;line-height:120%"&gt;Number&#160;of&lt;br/&gt;Awards (2)&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:120%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant-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;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance stock units (1)&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;77.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;81,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;77.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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;/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;/tr&gt;&lt;/table&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;(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 performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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) PSUs granted in the first quarter of 2023 includes 7,825 units that were forfeited in the third quarter of 2023 and 147,572 units that will be converted to shares and issued to recipients in the first quarter of 2026, representing 200.0% of the target amount granted and not subsequently forfeited, based on the Company's actual ROIC compared to ROIC target for the performance period ended December 31, 2023.&lt;/span&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-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: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's equity-based awards that are settled in cash are the awards under the Management Stock Purchase Plan (the &#x201c;MSPP&#x201d;) 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:10pt;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 contains 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&#x2019;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:10pt;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 March&#160;31, 2024 were $23.0 million, of which $2.6&#160;million was included in current accrued expenses and $20.4 million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $20.0 million, of which $2.0&#160;million was included in current accrued expenses and $18.0 million was included in non-current liabilities. The value of the restricted stock units within the MSPP liabilities was $20.0&#160;million and $17.3&#160;million at March&#160;31, 2024 and December&#160;31, 2023, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 and the payments made with respect to MSPP liabilities during the three months ended March 31,: &lt;/span&gt;&lt;/div&gt;&lt;div style="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: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:15.128%"&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.837%"&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;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;2023&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;40,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;MSPP liabilities paid (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;2,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,147&#160;&lt;/span&gt;&lt;/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:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-81"
      decimals="INF"
      id="f-381"
      unitRef="shares">1631707</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-82"
      decimals="INF"
      id="f-382"
      unitRef="shares">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock contextRef="c-1" id="f-383">&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 following table provides the number of stock units granted during the three months ended March 31, along with the weighted-average grant-date fair value of each award:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:45.459%"&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.385%"&gt;&lt;/td&gt;&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.345%"&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.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.641%"&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="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;2024&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;2023&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:10pt;font-weight:700;line-height:120%"&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:10pt;font-weight:700;line-height:120%"&gt;Number&#160;of&lt;br/&gt;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:10pt;font-weight:700;line-height:120%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant-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:10pt;font-weight:700;line-height:120%"&gt;Number&#160;of&lt;br/&gt;Awards (2)&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:120%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant-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;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance stock units (1)&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;77.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;81,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;77.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"&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;/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;/tr&gt;&lt;/table&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;(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 performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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) PSUs granted in the first quarter of 2023 includes 7,825 units that were forfeited in the third quarter of 2023 and 147,572 units that will be converted to shares and issued to recipients in the first quarter of 2026, representing 200.0% of the target amount granted and not subsequently forfeited, based on the Company's actual ROIC compared to ROIC target for the performance period ended December 31, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-83"
      decimals="INF"
      id="f-384"
      unitRef="shares">58582</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-83"
      decimals="2"
      id="f-385"
      unitRef="usdPerShare">77.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-84"
      decimals="INF"
      id="f-386"
      unitRef="shares">81611</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-84"
      decimals="2"
      id="f-387"
      unitRef="usdPerShare">53.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-85"
      decimals="INF"
      id="f-388"
      unitRef="shares">29671</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-85"
      decimals="2"
      id="f-389"
      unitRef="usdPerShare">77.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-86"
      decimals="INF"
      id="f-390"
      unitRef="shares">46646</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-86"
      decimals="2"
      id="f-391"
      unitRef="usdPerShare">53.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent contextRef="c-87" decimals="2" id="f-392" unitRef="number">0</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent contextRef="c-88" decimals="2" id="f-393" unitRef="number">2</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod contextRef="c-89" id="f-394">P1Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-84"
      decimals="INF"
      id="f-395"
      unitRef="shares">7825</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted contextRef="c-3" decimals="0" id="f-396" unitRef="shares">147572</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount contextRef="c-3" decimals="3" id="f-397" unitRef="number">2.000</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount>
    <rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod contextRef="c-90" id="f-398">P200D</rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod>
    <rock:AccruedEquityBasedCompensation contextRef="c-4" decimals="-5" id="f-399" unitRef="usd">23000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-91" decimals="-5" id="f-400" unitRef="usd">2600000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-92" decimals="-5" id="f-401" unitRef="usd">20400000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-5" decimals="-5" id="f-402" unitRef="usd">20000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-93" decimals="-5" id="f-403" unitRef="usd">2000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-94" decimals="-5" id="f-404" unitRef="usd">18000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-95" decimals="-5" id="f-405" unitRef="usd">20000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-96" decimals="-5" id="f-406" unitRef="usd">17300000</rock:AccruedEquityBasedCompensation>
    <us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock contextRef="c-1" id="f-407">&lt;div style="margin-top:10pt;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 and the payments made with respect to MSPP liabilities during the three months ended March 31,: &lt;/span&gt;&lt;/div&gt;&lt;div style="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: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:15.128%"&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.837%"&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;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;2023&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;40,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;MSPP liabilities paid (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;2,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,147&#160;&lt;/span&gt;&lt;/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:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-90" decimals="INF" id="f-408" unitRef="usd">40538</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-97" decimals="INF" id="f-409" unitRef="usd">41743</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-98" decimals="-3" id="f-410" unitRef="usd">2023000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-99" decimals="-3" id="f-411" unitRef="usd">2147000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="c-1" id="f-412">PRODUCT WARRANTIES&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 generally warrants that its products will be free from material defects in workmanship and materials. Warranty reserve estimates are based on management&#x2019;s judgment, considering such factors as historical experience, anticipated rates of claims, and other available information. Management reviews and adjusts these estimates, if necessary, based on the differences between actual experience and historical estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 reserve for product warranties is presented within accrued expenses on the Company&#x2019;s consolidated balance sheets. Activity in the product warranties is summarized as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="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.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.813%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.072%"&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.541%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.074%"&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 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="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;Three Months Ended&lt;br/&gt;March 31,&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: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;2024&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;2023&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="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;Beginning balance&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;9,139&#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;6,251&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Provisions for product warranties, net of 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;929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(88)&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;10,068&#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,163&#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="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:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="c-1" id="f-413">Activity in the product warranties is summarized as follows (in thousands):&lt;div style="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.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.813%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.072%"&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.541%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.074%"&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 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="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;Three Months Ended&lt;br/&gt;March 31,&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: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;2024&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;2023&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="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;Beginning balance&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;9,139&#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;6,251&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Provisions for product warranties, net of 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;929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;(88)&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;10,068&#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,163&#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="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:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-5" decimals="-3" id="f-414" unitRef="usd">9139000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-6" decimals="-3" id="f-415" unitRef="usd">6251000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease contextRef="c-1" decimals="-3" id="f-416" unitRef="usd">929000</us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease contextRef="c-3" decimals="-3" id="f-417" unitRef="usd">-88000</us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-4" decimals="-3" id="f-418" unitRef="usd">10068000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-7" decimals="-3" id="f-419" unitRef="usd">6163000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock contextRef="c-1" id="f-420">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS&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 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, the sale and exiting of less profitable businesses or product lines, and a reduction in the Company's manufacturing footprint.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 related to moving and closing costs and severance, along with asset impairment recoveries related to the write-down of inventory and other charges associated with discontinued product lines. Additionally, the Company has incurred the aforementioned costs resulting from the sale and/or closure of facilities including costs recorded during the three months ended March&#160;31, 2023. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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 set forth the exit activity costs and asset impairment recoveries incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:25.800%"&gt;&lt;/td&gt;&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.595%"&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.595%"&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.595%"&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.595%"&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.595%"&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.605%"&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="33" 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;Three Months Ended March 31,&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="15" 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="15" 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 #000;padding: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;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Renewables&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;269&#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;&#x2014;&#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;269&#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;&#x2014;&#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;(63)&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;(63)&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;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;&#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;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;114&#160;&lt;/span&gt;&lt;/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;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;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;561&#160;&lt;/span&gt;&lt;/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;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;&#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;&#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;&#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;/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;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: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;&#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;/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:120%"&gt;Total&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;407&#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;(72)&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;335&#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;675&#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;(63)&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;612&#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;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;/table&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:25.800%"&gt;&lt;/td&gt;&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.595%"&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.595%"&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.595%"&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.595%"&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.595%"&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.605%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&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:0 1pt"&gt;&lt;/td&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:0 1pt"&gt;&lt;/td&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:0 1pt"&gt;&lt;/td&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: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;/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;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;/table&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 following table provides a summary of where the exit activity costs and asset impairment recoveries were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:66.249%"&gt;&lt;/td&gt;&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.859%"&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:14.860%"&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 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="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;2023&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="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;Cost of 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;(72)&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;513&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Selling, general, and administrative expense&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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Total exit activity and asset impairment charges &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;335&#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;612&#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="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:10pt;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&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.297%"&gt;&lt;/td&gt;&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:14.838%"&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;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;2023&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 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;6,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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;/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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/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;(553)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,321)&lt;/span&gt;&lt;/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 March 31&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;6,579&#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;1,771&#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:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock contextRef="c-1" id="f-421">&lt;div style="margin-top:10pt;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 set forth the exit activity costs and asset impairment recoveries incurred by segment during the three months ended March 31, related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:25.800%"&gt;&lt;/td&gt;&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.595%"&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.595%"&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.595%"&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.595%"&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.595%"&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.605%"&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="33" 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;Three Months Ended March 31,&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="15" 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="15" 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 #000;padding: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;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;Renewables&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;269&#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;&#x2014;&#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;269&#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;&#x2014;&#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;(63)&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;(63)&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;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;&#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;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;114&#160;&lt;/span&gt;&lt;/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;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;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;561&#160;&lt;/span&gt;&lt;/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;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;&#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;&#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;&#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;/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;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: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;&#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;/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:120%"&gt;Total&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;407&#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;(72)&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;335&#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;675&#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;(63)&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;612&#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;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;/table&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:25.800%"&gt;&lt;/td&gt;&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.595%"&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.595%"&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.595%"&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.595%"&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.595%"&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.605%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&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:0 1pt"&gt;&lt;/td&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:0 1pt"&gt;&lt;/td&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:0 1pt"&gt;&lt;/td&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: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;/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;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;/table&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 following table provides a summary of where the exit activity costs and asset impairment recoveries were recorded in the consolidated statements of income for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&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:66.249%"&gt;&lt;/td&gt;&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.859%"&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:14.860%"&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 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="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;2023&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="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;Cost of 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;(72)&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;513&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Selling, general, and administrative expense&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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Total exit activity and asset impairment charges &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;335&#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;612&#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="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:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:BusinessExitCosts1 contextRef="c-100" decimals="-3" id="f-422" unitRef="usd">269000</us-gaap:BusinessExitCosts1>
    <rock:RestructuringSettlementAndImpairmentProvisionsRecovery contextRef="c-100" decimals="-3" id="f-423" unitRef="usd">0</rock:RestructuringSettlementAndImpairmentProvisionsRecovery>
    <us-gaap:RestructuringCharges contextRef="c-100" decimals="-3" id="f-424" unitRef="usd">269000</us-gaap:RestructuringCharges>
    <rock:BusinessExitCostsRecoveries contextRef="c-101" decimals="-3" id="f-425" unitRef="usd">0</rock:BusinessExitCostsRecoveries>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-101" decimals="-3" id="f-426" unitRef="usd">-63000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <rock:RestructuringChargesRecoveries contextRef="c-101" decimals="-3" id="f-427" unitRef="usd">-63000</rock:RestructuringChargesRecoveries>
    <us-gaap:BusinessExitCosts1 contextRef="c-102" decimals="-3" id="f-428" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-102" decimals="-3" id="f-429" unitRef="usd">-72000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-102" decimals="-3" id="f-430" unitRef="usd">-72000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-103" decimals="-3" id="f-431" unitRef="usd">114000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-103" decimals="-3" id="f-432" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-103" decimals="-3" id="f-433" unitRef="usd">114000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-104" decimals="-3" id="f-434" unitRef="usd">138000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-104" decimals="-3" id="f-435" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-104" decimals="-3" id="f-436" unitRef="usd">138000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-105" decimals="-3" id="f-437" unitRef="usd">561000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-105" decimals="-3" id="f-438" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-105" decimals="-3" id="f-439" unitRef="usd">561000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-106" decimals="-3" id="f-440" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-106" decimals="-3" id="f-441" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-106" decimals="-3" id="f-442" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-107" decimals="-3" id="f-443" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-107" decimals="-3" id="f-444" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-107" decimals="-3" id="f-445" unitRef="usd">0</us-gaap:RestructuringCharges>
    <rock:BusinessExitCostsRecoveries contextRef="c-108" decimals="-3" id="f-446" unitRef="usd">0</rock:BusinessExitCostsRecoveries>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-108" decimals="-3" id="f-447" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <rock:RestructuringChargesRecoveries contextRef="c-108" decimals="-3" id="f-448" unitRef="usd">0</rock:RestructuringChargesRecoveries>
    <us-gaap:BusinessExitCosts1 contextRef="c-109" decimals="-3" id="f-449" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-109" decimals="-3" id="f-450" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-109" decimals="-3" id="f-451" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-452" unitRef="usd">407000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-1" decimals="-3" id="f-453" unitRef="usd">-72000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-454" unitRef="usd">335000</us-gaap:RestructuringCharges>
    <rock:BusinessExitCostsRecoveries contextRef="c-3" decimals="-3" id="f-455" unitRef="usd">675000</rock:BusinessExitCostsRecoveries>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-3" decimals="-3" id="f-456" unitRef="usd">-63000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-3" decimals="-3" id="f-457" unitRef="usd">612000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-110" decimals="-3" id="f-458" unitRef="usd">-72000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-111" decimals="-3" id="f-459" unitRef="usd">513000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-112" decimals="-3" id="f-460" unitRef="usd">407000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-113" decimals="-3" id="f-461" unitRef="usd">99000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-462" unitRef="usd">335000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-3" decimals="-3" id="f-463" unitRef="usd">612000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock contextRef="c-1" id="f-464">&lt;div style="margin-top:10pt;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&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.297%"&gt;&lt;/td&gt;&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:14.838%"&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;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;2023&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 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;6,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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;/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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/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;(553)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,321)&lt;/span&gt;&lt;/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 March 31&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;6,579&#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;1,771&#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:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve contextRef="c-5" decimals="-3" id="f-465" unitRef="usd">6725000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-6" decimals="-3" id="f-466" unitRef="usd">2417000</us-gaap:RestructuringReserve>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-467" unitRef="usd">407000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1 contextRef="c-3" decimals="-3" id="f-468" unitRef="usd">675000</us-gaap:BusinessExitCosts1>
    <us-gaap:PaymentsForRestructuring contextRef="c-1" decimals="-3" id="f-469" unitRef="usd">553000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring contextRef="c-3" decimals="-3" id="f-470" unitRef="usd">1321000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve contextRef="c-4" decimals="-3" id="f-471" unitRef="usd">6579000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-7" decimals="-3" id="f-472" unitRef="usd">1771000</us-gaap:RestructuringReserve>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-473">INCOME TAXES&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 following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:66.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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;Provision for income taxes&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;8,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;Effective tax 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;25.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#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;25.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;The effective tax rate for the three months ended March&#160;31, 2024 and 2023, respectively, was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by favorable discrete item</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c-1" id="f-474">&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 following table summarizes the provision for income taxes for continuing operations (in thousands) for the three months ended March 31, and the applicable effective tax rates:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:66.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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;Provision for income taxes&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;8,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;Effective tax 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;25.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#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;25.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-475" unitRef="usd">8561000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-3" decimals="-3" id="f-476" unitRef="usd">7177000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-477" unitRef="number">0.256</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-3" decimals="3" id="f-478" unitRef="number">0.254</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-1" decimals="INF" id="f-479" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-3" decimals="INF" id="f-480" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-481">EARNINGS PER SHARE&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;Weighted average shares outstanding for basic and diluted earnings were as follows for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="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.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.813%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.072%"&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.541%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.074%"&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 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="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;2023&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="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;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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: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="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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 income available to common stockholders&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;24,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;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;21,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;Denominator for basic earnings per share:&lt;/span&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Weighted average shares outstanding&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;30,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;30,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;Denominator for diluted earnings per share:&lt;/span&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Weighted average shares outstanding&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;30,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;30,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;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;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;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;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,793&#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;31,024&#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;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:10pt;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 three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:66.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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:120%"&gt;Common stock units &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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-482">&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;Weighted average shares outstanding for basic and diluted earnings were as follows for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="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.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.813%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.072%"&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.541%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.074%"&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 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="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;2023&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="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;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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: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="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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 income available to common stockholders&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;24,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;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;21,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;Denominator for basic earnings per share:&lt;/span&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Weighted average shares outstanding&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;30,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;30,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;Denominator for diluted earnings per share:&lt;/span&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Weighted average shares outstanding&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;30,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;30,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;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;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;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;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,793&#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;31,024&#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;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:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-483" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-484" unitRef="usd">21099000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-485" unitRef="shares">30572000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-3" decimals="-3" id="f-486" unitRef="shares">30897000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-487" unitRef="shares">30572000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-3" decimals="-3" id="f-488" unitRef="shares">30897000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-1" decimals="-3" id="f-489" unitRef="shares">221000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-3" decimals="-3" id="f-490" unitRef="shares">127000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-491" unitRef="shares">30793000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-3" decimals="-3" id="f-492" unitRef="shares">31024000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-493">&lt;div style="margin-top:10pt;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 three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;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:66.297%"&gt;&lt;/td&gt;&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:14.838%"&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 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="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;2023&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="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:120%"&gt;Common stock units &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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-114" decimals="0" id="f-494" unitRef="shares">4000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-115" decimals="0" id="f-495" unitRef="shares">64000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-496">SEGMENT INFORMATION&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 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:5pt;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 roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, 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="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(iii)&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%;padding-left:4.68pt"&gt;Agtech, which&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; 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="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 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:10pt;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:10pt;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 illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:66.057%"&gt;&lt;/td&gt;&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.954%"&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 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="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;2023&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="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:top"&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="border-top:1pt solid #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: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="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;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;51,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;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;59,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;185,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;34,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;35,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;21,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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 net sales&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;292,506&#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;293,267&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Income from operations:&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;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,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 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,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;td colspan="3" style="display:none"&gt;&lt;/td&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;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;34,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;29,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;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;2,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;4,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;(11,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,452)&lt;/span&gt;&lt;/td&gt;&lt;td 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="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 income from 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;31,736&#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,370&#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;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:10pt;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 illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:66.249%"&gt;&lt;/td&gt;&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.859%"&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:14.860%"&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:120%"&gt;March 31,&lt;br/&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:120%"&gt;December 31,&lt;br/&gt;2023&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;Total assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 13.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;374,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;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.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;535,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.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;165,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.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;82,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.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;162,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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: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;1,319,857&#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;1,256,451&#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 following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="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:17.174%"&gt;&lt;/td&gt;&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.689%"&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.689%"&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.689%"&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.689%"&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:14.696%"&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;Three Months Ended March 31, 2024&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 #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;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;6,789&#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="background-color:#ffffff;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;183,332&#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="background-color:#ffffff;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;2,339&#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="background-color:#ffffff;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;6,310&#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;198,770&#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;44,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;31,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;15,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;93,736&#160;&lt;/span&gt;&lt;/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 net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;51,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;185,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;34,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;21,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;292,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:5pt;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:17.174%"&gt;&lt;/td&gt;&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.689%"&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.689%"&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.689%"&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.689%"&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:14.696%"&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;Three Months Ended March 31, 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 #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;9,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;177,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;5,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;198,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 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;50,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;12,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;95,063&#160;&lt;/span&gt;&lt;/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 net sales&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;59,205&#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;179,495&#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;35,852&#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;18,715&#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;293,267&#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:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-497"
      unitRef="segment">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="c-1" id="f-498">&lt;div style="margin-top:10pt;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 illustrates certain measurements used by management to assess performance of the segments described above for the three months ended March 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:66.057%"&gt;&lt;/td&gt;&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.954%"&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 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="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;2023&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="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:top"&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="border-top:1pt solid #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: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="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;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;51,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;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;59,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;185,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;34,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;35,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;21,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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 net sales&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;292,506&#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;293,267&#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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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 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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;Income from operations:&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;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,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 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,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;td colspan="3" style="display:none"&gt;&lt;/td&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;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;34,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;29,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&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;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;2,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;4,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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="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;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;(11,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,452)&lt;/span&gt;&lt;/td&gt;&lt;td 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="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 income from 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;31,736&#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,370&#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;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:10pt;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 illustrates the total assets of the Company's reportable segments and unallocated corporate assets as of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:66.249%"&gt;&lt;/td&gt;&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.859%"&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:14.860%"&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:120%"&gt;March 31,&lt;br/&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:120%"&gt;December 31,&lt;br/&gt;2023&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;Total assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 13.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;374,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;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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.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;535,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.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;165,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.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;82,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.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;162,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/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: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;1,319,857&#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;1,256,451&#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;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues contextRef="c-116" decimals="-3" id="f-499" unitRef="usd">51496000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-117" decimals="-3" id="f-500" unitRef="usd">59205000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-102" decimals="-3" id="f-501" unitRef="usd">185111000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-103" decimals="-3" id="f-502" unitRef="usd">179495000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-104" decimals="-3" id="f-503" unitRef="usd">34027000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-105" decimals="-3" id="f-504" unitRef="usd">35852000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-106" decimals="-3" id="f-505" unitRef="usd">21872000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-107" decimals="-3" id="f-506" unitRef="usd">18715000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-507" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-3" decimals="-3" id="f-508" unitRef="usd">293267000</us-gaap:Revenues>
    <us-gaap:OperatingIncomeLoss contextRef="c-116" decimals="-3" id="f-509" unitRef="usd">1644000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-117" decimals="-3" id="f-510" unitRef="usd">2269000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-102" decimals="-3" id="f-511" unitRef="usd">34346000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-103" decimals="-3" id="f-512" unitRef="usd">29509000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-104" decimals="-3" id="f-513" unitRef="usd">2608000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-105" decimals="-3" id="f-514" unitRef="usd">2330000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-106" decimals="-3" id="f-515" unitRef="usd">4896000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-107" decimals="-3" id="f-516" unitRef="usd">2714000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-108" decimals="-3" id="f-517" unitRef="usd">-11758000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-109" decimals="-3" id="f-518" unitRef="usd">-7452000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-519" unitRef="usd">31736000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-3" decimals="-3" id="f-520" unitRef="usd">29370000</us-gaap:OperatingIncomeLoss>
    <us-gaap:Assets contextRef="c-118" decimals="-3" id="f-521" unitRef="usd">374137000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-119" decimals="-3" id="f-522" unitRef="usd">377694000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-120" decimals="-3" id="f-523" unitRef="usd">535077000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-121" decimals="-3" id="f-524" unitRef="usd">515739000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-122" decimals="-3" id="f-525" unitRef="usd">165488000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-123" decimals="-3" id="f-526" unitRef="usd">168213000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-124" decimals="-3" id="f-527" unitRef="usd">82176000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-125" decimals="-3" id="f-528" unitRef="usd">77518000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-126" decimals="-3" id="f-529" unitRef="usd">162979000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-127" decimals="-3" id="f-530" unitRef="usd">117287000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-531" unitRef="usd">1319857000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-532" unitRef="usd">1256451000</us-gaap:Assets>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c-1" id="f-533">&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 following tables illustrate segment revenue disaggregated by timing of transfer of control to the customer for the (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="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:17.174%"&gt;&lt;/td&gt;&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.689%"&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.689%"&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.689%"&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.689%"&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:14.696%"&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;Three Months Ended March 31, 2024&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 #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;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;6,789&#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="background-color:#ffffff;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;183,332&#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="background-color:#ffffff;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;2,339&#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="background-color:#ffffff;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;6,310&#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;198,770&#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;44,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;31,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;15,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;93,736&#160;&lt;/span&gt;&lt;/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 net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;51,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;185,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;34,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;21,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="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="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;292,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:5pt;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:17.174%"&gt;&lt;/td&gt;&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.689%"&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.689%"&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.689%"&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.689%"&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:14.696%"&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;Three Months Ended March 31, 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 #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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 #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding: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;9,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;177,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;5,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;198,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 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;50,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;12,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;95,063&#160;&lt;/span&gt;&lt;/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 net sales&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;59,205&#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;179,495&#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;35,852&#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;18,715&#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;293,267&#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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:Revenues contextRef="c-128" decimals="-3" id="f-534" unitRef="usd">6789000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-129" decimals="-3" id="f-535" unitRef="usd">183332000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-130" decimals="-3" id="f-536" unitRef="usd">2339000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-131" decimals="-3" id="f-537" unitRef="usd">6310000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-132" decimals="-3" id="f-538" unitRef="usd">198770000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-133" decimals="-3" id="f-539" unitRef="usd">44707000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-134" decimals="-3" id="f-540" unitRef="usd">1779000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-135" decimals="-3" id="f-541" unitRef="usd">31688000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-136" decimals="-3" id="f-542" unitRef="usd">15562000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-137" decimals="-3" id="f-543" unitRef="usd">93736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-138" decimals="-3" id="f-544" unitRef="usd">51496000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-48" decimals="-3" id="f-545" unitRef="usd">185111000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-49" decimals="-3" id="f-546" unitRef="usd">34027000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-50" decimals="-3" id="f-547" unitRef="usd">21872000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-548" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-139" decimals="-3" id="f-549" unitRef="usd">9094000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-140" decimals="-3" id="f-550" unitRef="usd">177942000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-141" decimals="-3" id="f-551" unitRef="usd">5107000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-142" decimals="-3" id="f-552" unitRef="usd">6061000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-143" decimals="-3" id="f-553" unitRef="usd">198204000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-144" decimals="-3" id="f-554" unitRef="usd">50111000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-145" decimals="-3" id="f-555" unitRef="usd">1553000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-146" decimals="-3" id="f-556" unitRef="usd">30745000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-147" decimals="-3" id="f-557" unitRef="usd">12654000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-148" decimals="-3" id="f-558" unitRef="usd">95063000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-149" decimals="-3" id="f-559" unitRef="usd">59205000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-150" decimals="-3" id="f-560" unitRef="usd">179495000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-151" decimals="-3" id="f-561" unitRef="usd">35852000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-152" decimals="-3" id="f-562" unitRef="usd">18715000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-3" decimals="-3" id="f-563" unitRef="usd">293267000</us-gaap:Revenues>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
