<SEC-DOCUMENT>0000912562-25-000020.txt : 20250430
<SEC-HEADER>0000912562-25-000020.hdr.sgml : 20250430
<ACCEPTANCE-DATETIME>20250430080313
ACCESSION NUMBER:		0000912562-25-000020
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		81
CONFORMED PERIOD OF REPORT:	20250331
FILED AS OF DATE:		20250430
DATE AS OF CHANGE:		20250430

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
		EIN:				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:		25891099

	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-20250331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc,d:7920664a0d8b45eeaed7a90ff8888f33-->
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:rock="http://www.gibraltar1.com/20250331" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns="http://www.w3.org/1999/xhtml" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>rock-20250331</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">2025</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-20250331.xsd"/></ix:references><ix:resources><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: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:unit id="debtcovenant"><xbrli:measure>rock:debtCovenant</xbrli:measure></xbrli:unit><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="segment"><xbrli:measure>rock:segment</xbrli:measure></xbrli:unit><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-04-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-3"><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-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-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>2024-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>2023-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>2024-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>2024-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>2024-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>2024-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>2024-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>2024-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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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>2025-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>2025-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>2025-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>2025-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>2025-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>2023-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>2023-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>2023-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>2023-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>2023-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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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>2024-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>2024-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>2024-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>2024-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>2024-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-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-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:LaneSupplyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-11</xbrli:startDate><xbrli:endDate>2025-02-11</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:TwoPrivatelyHeldBusinessesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-03-31</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:LaneSupplyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-02-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-11</xbrli:startDate><xbrli:endDate>2025-02-11</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:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-11</xbrli:startDate><xbrli:endDate>2025-02-11</xbrli:endDate></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:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-11</xbrli:startDate><xbrli:endDate>2025-02-11</xbrli:endDate></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:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-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:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:BusinessAcquisitionAxis">rock:A2025AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:BusinessAcquisitionAxis">rock:LaneSupplyMember</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-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-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-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:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-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:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-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:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-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:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</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:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</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:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</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:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</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="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</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:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></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:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></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="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-77"><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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-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:StandbyLettersOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-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: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-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-83"><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>2025-03-31</xbrli:instant></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: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-85"><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:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap: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><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</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:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:Amended2018PlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-03</xbrli:instant></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: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-92"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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: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-94"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></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><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-100"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap: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-104"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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: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-106"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</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-108"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:OperatingSegmentsMember</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-110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><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-114"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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="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-116"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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: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-118"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-119"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="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-120"><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>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></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: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-122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-123"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-124"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="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-126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-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:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></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="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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-148"><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><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-149"><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><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-150"><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><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-151"><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-152"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-153"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap: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-154"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-155"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><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-156"><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-157"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-158"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap: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-159"><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-160"><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-161"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ShareRepurchaseProgramAxis">rock:NewShareRepurchaseProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-04-28</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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, 2025</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-20250331_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;28, 2025, 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">29,490,360</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="i7920664a0d8b45eeaed7a90ff8888f33_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">INDEX</span></div><div><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"><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:#305473;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:#305473;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:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">Consolidated Statements of Income for the Three </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">Months Ended </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">March</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16"> 3</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">1</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">5</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16"> and 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_16">4</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">Consolidated Statements of Comprehensive Income for the Three </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">Months Ended </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">March</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19"> 3</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">1</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">5</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19"> and 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_19">4</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22">Consolidated Balance Sheets as of</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22"> March</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22"> 3</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22">1</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22">, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22">5</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22"> (unaudited) and December 31, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_22">4</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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">Consolidated Statements of Cash Flows for the </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">Three</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28"> Months Ended </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">March</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28"> 3</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">1</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">5</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28"> and 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_28">4</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">Consolidated Statements of Stockholders&#8217; Equity for the Three </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">Months Ended </a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">March</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31"> 3</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">1</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">, 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">5</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31"> and 202</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_31">4</a><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_37">8</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_79">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_79">18</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_97">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_97">24</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_100">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_100">24</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_103">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:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_106">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_106">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_109">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_109">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_112">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_112">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_115">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_115">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_118">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_118">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_121">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_121">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_124">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_124">27</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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_127">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:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#305473;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_127">28</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="i7920664a0d8b45eeaed7a90ff8888f33_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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="i7920664a0d8b45eeaed7a90ff8888f33_13"></div><div style="margin-top:6pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Financial Statements</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_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 style="margin-top:3pt"><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: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="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%">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%">2024</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">290,015</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">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="display:none"/><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">212,315</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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">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="display:none"/><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">77,700</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">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="display:none"/><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,190</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-38">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="display:none"/><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">25,510</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">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="display:none"/><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, 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:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-41">1,637</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:InterestIncomeExpenseNet" scale="3" id="f-42">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="display:none"/><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 expense (income), net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-43">94</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:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-44">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="display:none"/><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">27,053</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">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="display:none"/><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">5,934</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">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="display:none"/><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">21,119</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">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="display:none"/><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.70</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.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="display:none"/><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.69</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.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="display:none"/><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,252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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="display:none"/><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,474</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">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="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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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 style="margin-top:3pt"><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: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="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%">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%">2024</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">21,119</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">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="display:none"/><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 income (loss):</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><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" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-61">49</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:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-62">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"/><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">21,168</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">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="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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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/>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%">December 31,<br/>2024</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">25,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 style="background-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">269,480</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%">Trade receivables, 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">2,805</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">3,394</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">195,192</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">169,350</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%">Costs in excess of billings, 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" sign="-" name="rock:CostsInExcessOfBillingsNet" format="ixt:num-dot-decimal" scale="3" id="f-71">41,648</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="rock:CostsInExcessOfBillingsNet" format="ixt:num-dot-decimal" scale="3" id="f-72">34,570</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-73">170,304</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:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-74">138,140</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-75">41,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-76">39,792</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-77">473,486</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:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-78">651,332</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-79">128,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-80">109,820</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-81">56,712</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:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-82">45,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-83">594,620</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-84">507,419</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangibles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-85">181,690</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:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-86">103,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-87">4,239</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-88">1,936</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-89">1,439,418</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-90">1,419,410</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-91">137,970</ix:nonFraction>&#160;</span></td><td style="background-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:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-92">117,408</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-93">98,428</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:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-94">95,664</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billings in excess of costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-95">40,230</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-96">41,790</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-97">276,628</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:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-98">254,862</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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-99">75,505</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-100">56,655</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%">Non-current operating lease 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:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-101">46,317</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:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-102">35,125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other 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-4" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-103">31,630</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-104">24,734</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%">Stockholders&#8217; equity:</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;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-105"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-106">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-107"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-108">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-109"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-110">none</ix:nonFraction></ix:nonFraction> outstanding</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:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-111">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-112">&#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"><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-113"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-114">0.01</ix:nonFraction></ix:nonFraction> par value; authorized <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-115"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-116">100,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-117"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-118">34,401</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-119"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-120">34,313</ix:nonFraction></ix:nonFraction> shares issued and outstanding in 2025 and 2024</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:CommonStockValue" scale="3" id="f-121">344</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:CommonStockValue" scale="3" id="f-122">343</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%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-123">346,653</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-124">343,583</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%">Retained earnings</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-125">896,970</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:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-126">875,851</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%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-127">5,277</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-128">5,326</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"><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-129">4,911</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-130">3,960</ix:nonFraction> common shares held in treasury in 2025 and 2024</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:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-131">229,352</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:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-132">166,417</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 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:#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:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-133">1,009,338</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:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-134">1,048,034</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:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-135">1,439,418</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-136">1,419,410</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top: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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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: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="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%">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%">2024</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-137">21,119</ix:nonFraction>&#160;</span></td><td style="background-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-138">24,946</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-139">9,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-140">6,663</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-141">3,071</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-142">2,639</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><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="display:none"/><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%">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" scale="3" id="f-143">244</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-144">1,619</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%">Trade receivables and 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-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-145">7,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-146">6,950</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-147">12,347</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-148">17,231</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" format="ixt:num-dot-decimal" scale="3" id="f-149">2,492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="f-150">453</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-151">12,416</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-152">35,455</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" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-153">15,035</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:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-154">5,587</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-155">13,684</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-156">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"/></tr><tr><td colspan="3" style="background-color:#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-157">11,431</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-158">4,366</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:num-dot-decimal" scale="3" id="f-159">184,585</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:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:fixed-zero" scale="3" id="f-160">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net proceeds from sale of business</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" scale="3" id="f-161">352</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:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" format="ixt:fixed-zero" scale="3" id="f-162">&#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="display:none"/><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:#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 investing activities</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-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-163">195,664</ix:nonFraction>)</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-3" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-164">4,366</ix:nonFraction>)</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%">Cash Flows from Financing Activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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:#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%">Purchase of common stock at market prices</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-165">62,394</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:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-166">1,434</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;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-167">62,394</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:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-168">1,434</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of exchange rate changes on cash</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-1" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-169">8</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-3" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-170">142</ix:nonFraction>)</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%">Net (decrease) increase in cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-171">244,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" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-172">47,239</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at beginning of year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-173">269,480</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-174">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"><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:#cceeff;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:#cceeff;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-175">25,114</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;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:#cceeff;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-176">146,665</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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"><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 style="height:21pt"><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, 2024</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-177">34,313</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-178">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:#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-179">343,583</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-180">875,851</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-181">5,326</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-182">3,960</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-183">166,417</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-184">1,048,034</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-185">21,119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-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-186">21,119</ix: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" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-187">49</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%">&#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" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-188">49</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"/></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-189">3,071</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-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-190">3,071</ix: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-191">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-16" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-192">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-193">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-194">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-17" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-195">2,369</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-196">2,369</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%">Excise tax on repurchase of common stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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%">&#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-17" decimals="-3" name="rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod" scale="3" id="f-197">566</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-1" decimals="-3" name="rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod" scale="3" id="f-198">566</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:400;line-height:100%">Common stock repurchased under stock repurchase program</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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%">&#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:StockRepurchasedDuringPeriodShares" scale="3" id="f-199">915</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" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-200">60,000</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" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-201">60,000</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at March 31, 2025</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-202">34,401</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-203">344</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-204">346,653</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-205">896,970</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-206">5,277</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-207">4,911</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-208">229,352</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-209">1,009,338</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, 2023</span></td><td colspan="2" style="background-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-210">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;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-211">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;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-212">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;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-213">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;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-214">2,114</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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-215">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;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-216">154,362</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-217">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;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-218">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-3" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-219">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-29" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-220">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-3" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-221">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-30" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-222">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-3" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-223">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-31" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="f-224">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-31" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="f-225">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-226">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-227">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-32" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-228">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-3" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="3" id="f-229">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="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-33" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-230">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-33" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-231">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-34" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-232">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-35" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-233">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-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-234">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-37" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-235">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-37" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-236">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-7" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-237">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: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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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="i7920664a0d8b45eeaed7a90ff8888f33_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-238" continuedAt="f-238-1" escape="true">BASIS OF PRESENTATION</ix:nonNumeric></span></div><ix:continuation id="f-238-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, 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%">The consolidated balance sheet at&#160;December&#160;31, 2024&#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-239" 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 2025, 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, 2024.</span></div></ix:nonNumeric></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_43"></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-240" continuedAt="f-240-1" escape="true">TRADE RECEIVABLES, NET</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="f-241" escape="true"><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 following table provides a roll-forward of the allowance for credit losses for the three month period ended March&#160;31, 2025 that is deducted from the amortized cost basis of trade receivables to present the net amount expected to be collected (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: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, 2025</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-242">3,394</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-243">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;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-244">713</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, 2025</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-245">2,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div id="i7920664a0d8b45eeaed7a90ff8888f33_46"></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-246" continuedAt="f-246-1" escape="true">REVENUE</ix:nonNumeric></span></div><ix:continuation id="f-246-1" continuedAt="f-246-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%">Sales includes revenue from contracts with customers for roof and foundation ventilation products, single point and centralized mail systems, trims, flashings, metal roofing, rain dispersion products and other accessories, retractable awnings and gutter guards; designing, engineering, manufacturing and installation of controlled environmental agriculture, custom greenhouses and structural canopies; designing, engineering, manufacturing and installation of solar racking and electrical balance of systems; 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 disclosures related to disaggregation of revenue.</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, 2025, 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-247">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%">For the three months ended March&#160;31, 2025 and 2024, respectively, there were no changes to estimated total costs to be incurred related to any individual contract that materially impacted the Company's consolidated 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%">Contract assets consist of net costs in excess of billings, classified as current assets in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2025 and December 31, 2024 was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue" format="ixt:num-dot-decimal" scale="6" id="f-248">2.1</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue" format="ixt:num-dot-decimal" scale="6" id="f-249">3.1</ix:nonFraction>&#160;million, respectively.  The Company </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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-246-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%">recognized revenue of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="f-250">26.2</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-251">27.7</ix:nonFraction>&#160;million during the three months ended March&#160;31, 2025 and 2024, respectively, that was included in the contract liabilities balance of $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-252">44.8</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-253">48.7</ix:nonFraction>&#160;million at December 31, 2024 and 2023, respectively.</span></div></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_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%">(4)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryDisclosureTextBlock" id="f-254" continuedAt="f-254-1" escape="true">INVENTORIES, NET</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="f-255" escape="true"><ix:continuation id="f-254-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, net of reserves, 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, 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%">December 31, 2024</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:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-256">104,571</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:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-257">78,888</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:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-258">20,620</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-259">18,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: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:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-260">45,113</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:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="f-261">41,057</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%">Total inventories, net</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:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-262">170,304</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:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-263">138,140</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div id="i7920664a0d8b45eeaed7a90ff8888f33_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%">(5)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="f-264" continuedAt="f-264-1" escape="true">ACQUISITIONS</ix:nonNumeric></span></div><ix:continuation id="f-264-1" continuedAt="f-264-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%">During the quarter ended March 31, 2025, the Company acquired three businesses in separate transactions all of which were funded with cash on hand. One acquired business is included within the Company's Agtech segment and the other acquired businesses are included in the Company's Residential 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%">On February 11, 2025, the Company purchased all the outstanding stock of Lane Supply, Inc. ("Lane Supply"), a privately held company that designs, manufactures and installs structural canopies serving the convenience store, travel center, food retail, and quick serve restaurant markets. The results of Lane Supply have been included in the Company's consolidated financial results since the date of acquisition within the Company's Agtech segment. The preliminary 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-265">117.1</ix:nonFraction>&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the stock 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%">On March 31, 2025, the Company acquired two privately held businesses within its Residential segment that primarily specialize in the manufacturing of metal roofing systems, along with metal wall panels, siding and trim products. The Company purchased all the outstanding stock of one of the businesses and substantially all of the assets for the other business for a combined preliminary purchase consideration of $<ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="f-266">90.2</ix:nonFraction>&#160;million, which includes preliminary working capital adjustments and certain other adjustments provided for in the purchase agreements.</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 these acquisitions were preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisitions.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisitions. Goodwill recognized in these acquisitions are primarily attributable to factors such as future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in domestic agtech structures and metal roofing markets, respectively. Due to the timing of these acquisitions, we continue to gather information supporting the acquired assets and assumed liabilities. Accordingly, all amounts recorded are provisional. These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition dates that, if known, would have affected the measurement of the amounts recognized as of that date. The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to one year from the date of acquisitions. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant and equipment and acquired intangible assets.  </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%">For the acquisition of Lane Supply, the preliminary excess consideration was recorded as goodwill and approximated $<ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-267">38.2</ix:nonFraction>&#160;million, none of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.</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%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-264-2" continuedAt="f-264-3"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="f-268" continuedAt="f-268-1" 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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.789%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-269">1,467</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" name="rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" format="ixt:num-dot-decimal" scale="3" id="f-270">22,108</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-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-271">6,707</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-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-272">67,100</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-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" scale="3" id="f-273">671</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-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" format="ixt:num-dot-decimal" scale="3" id="f-274">19,176</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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-41" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-275">38,245</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-41" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-276">117,122</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" id="f-277" continuedAt="f-277-1" escape="true"><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following (in thousands):</span></div><div><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-42" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-278">6,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;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-279">20</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-43" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-280">55,000</ix:nonFraction>&#160;</span></td><td style="background-color:#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-43" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-281">15</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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-282">5,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="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%">Less than 1 year</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><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:10pt;font-weight:400;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: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-283">67,100</ix:nonFraction>&#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 colspan="3" style="background-color:#ffffff;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%">For the acquisition of the two metal roofing businesses, the preliminary excess consideration was recorded as goodwill and approximated $<ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-284">48.9</ix:nonFraction>&#160;million, all of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.</span></div><ix:continuation id="f-268-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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisitions (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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-285">4,407</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" format="ixt:num-dot-decimal" scale="3" id="f-286">13,299</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-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-287">5,272</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-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-288">15,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;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-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-289">4,502</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-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" format="ixt:num-dot-decimal" scale="3" id="f-290">1,524</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-45" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-291">48,912</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-45" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-292">90,168</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:continuation><ix:continuation id="f-277-1"><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 these acquisitions 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-46" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-293">4,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-46" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-294">5</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-47" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-295">11,000</ix:nonFraction>&#160;</span></td><td style="background-color:#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-47" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-296">10</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-48" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-297">15,300</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:continuation><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 Company recognized costs related to recent acquisitions comprised of legal and consulting fees within selling, general, and administrative expense of $<ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="6" id="f-298">2.6</ix:nonFraction>&#160;million for the three months ended March 31, 2025. No acquisition costs were incurred in the three months ended March 31, 2024.</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%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-264-3"><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">Pro Forma Information (Unaudited)</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 results of Lane Supply (from January 1, 2025 through February 10, 2025) and the two privately held businesses (from January 1, 2025 and March 31, 2025) have not been included in the Company's consolidated statements of income as the Company acquired Lane Supply on February 11, 2025 and the two privately held businesses on March 31, 2025.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" id="f-299" 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 unaudited pro forma financial information represents a summary of the consolidated results of operations of the Company for the three months ended March 31, 2025 and 2024, assuming these acquisitions had been completed on January 1, 2024 (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.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="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: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%">2025</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%">2024</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaRevenue" format="ixt:num-dot-decimal" scale="3" id="f-300">313,079</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:top"/><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-51" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaRevenue" format="ixt:num-dot-decimal" scale="3" id="f-301">329,981</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%">Income from operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-302">27,736</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-303">31,941</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></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%">These pro forma amounts have been compiled by adding the historical results of these businesses to the results of the Company after applying accounting policies and pro forma adjustments primarily for amortization that would have been charged assuming the preliminary fair value adjustments to intangible assets had been applied from January 1, 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%">The pro forma financial information is not necessarily indicative of the results of operations that would have been achieved if the acquisitions had been effective as of these dates, or of future results.</span></div></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_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%">(6)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="f-304" continuedAt="f-304-1" escape="true">GOODWILL AND RELATED INTANGIBLE ASSETS</ix:nonNumeric></span></div><ix:continuation id="f-304-1" continuedAt="f-304-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-305" 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, 2025 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:100.000%"><tr><td style="width:1.0%"/><td style="width:32.818%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width: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:12.204%"/><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.625%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height: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:9pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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, 2024</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-52" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-306">209,170</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><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-53" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-307">82,341</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-54" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-308">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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><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:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-309">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-310">507,419</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="background-color:#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 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-56" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-311">48,912</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-312">38,245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-313">&#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-59" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-314">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-315">87,157</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-316">&#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-57" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-317">44</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:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-318">&#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-59" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-319">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-320">44</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%">Balance at March 31, 2025</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-60" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-321">258,082</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-61" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-322">120,630</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-62" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-323">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-63" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-324">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-325">594,620</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-326"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" format="ixt:num-dot-decimal" scale="6" id="f-327">133.2</ix:nonFraction></ix:nonFraction>&#160;million as of March&#160;31, 2025 and December 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%">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, 2025 which would require an interim impairment test to be performed.</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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-304-2"><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-328" 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, 2025</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, 2024</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-64" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-329">40,400</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-64" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-330">&#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-65" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-331">40,400</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-65" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-332">&#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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-333">5,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-334">1,419</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-67" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:fixed-zero" scale="3" id="f-335">&#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-67" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-336">&#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 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-337">13,350</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-338">1,475</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-339">2,550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-340">1,773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-341">29,217</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-70" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-342">22,618</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-71" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-343">30,329</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-71" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-344">23,199</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-345">164,968</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-346">46,083</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-347">99,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-348">43,560</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-349">500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-350">450</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-75" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-351">709</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-75" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-352">634</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: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-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-353">213,335</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-4" decimals="-3" name="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-354">72,045</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:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-355">132,648</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="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-356">69,166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-357">253,735</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-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-358">72,045</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="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-359">173,048</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:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-360">69,166</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="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" id="f-361" 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 (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:67.759%"/><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.107%"/><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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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%">2025</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%">2024</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-362">4,598</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-363">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="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-364" 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 2025 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:36.088%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.709%"/><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:8.709%"/><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:8.709%"/><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:8.709%"/><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:8.709%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.715%"/><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%">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><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%">2030</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-365">16,087</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-366">15,252</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-367">13,967</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-368">13,203</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-369">13,154</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-370">11,623</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="i7920664a0d8b45eeaed7a90ff8888f33_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%">(7)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:LongTermDebtTextBlock" id="f-371" continuedAt="f-371-1" escape="true">LONG-TERM DEBT</ix:nonNumeric></span></div><ix:continuation id="f-371-1" continuedAt="f-371-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 had <ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:LongTermDebt" format="ixt:fixed-zero" scale="0" id="f-372"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:LongTermDebt" format="ixt:fixed-zero" scale="0" id="f-373">no</ix:nonFraction></ix:nonFraction> outstanding debt as of March 31, 2025 and December 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-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-76" decimals="-6" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="6" id="f-374">400</ix:nonFraction> million. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock" id="f-375" continuedAt="f-375-1" escape="true">The following table sets forth the Company's availability on the revolving credit facility as of (in thousands):</ix:nonNumeric></span></div><ix:continuation id="f-375-1"><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: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, 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%">December 31, 2024</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 revolving credit facility</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:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-376">400,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 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%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-377">400,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#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: standby letters of credit issued to third parties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-378">4,931</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:120%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-379">4,931</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Availability on revolving credit facility</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-77" decimals="-3" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-380">395,069</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-78" decimals="-3" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="f-381">395,069</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><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 can request additional financing to increase the revolving credit facility to $<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-6" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="f-382">700</ix:nonFraction> million or enter into a term loan of up to $<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="INF" name="us-gaap:DebtInstrumentFaceAmount" scale="6" id="f-383">300</ix:nonFraction> million subject to conditions set forth in the Credit Agreement. The Credit Agreement contains <ix:nonFraction unitRef="debtcovenant" contextRef="c-82" decimals="INF" name="rock:DebtInstrumentNumberOfDebtCovenants" format="ixt-sec:numwordsen" scale="0" id="f-384">two</ix:nonFraction> financial covenants. As of March&#160;31, 2025, 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-83" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-385">0</ix:nonFraction>% floor. The Credit Agreement includes an applicable margin which ranges from <ix:nonFraction unitRef="number" contextRef="c-84" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-386">0.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-85" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-387">1.00</ix:nonFraction>% for base rate loans and from <ix:nonFraction unitRef="number" contextRef="c-86" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-388">1.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-87" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-389">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, </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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-371-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%">which ranges between <ix:nonFraction unitRef="number" contextRef="c-88" decimals="INF" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-390">0.20</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-89" decimals="INF" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-391">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></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_61"></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-392" continuedAt="f-392-1" escape="true">EQUITY-BASED COMPENSATION</ix:nonNumeric></span></div><ix:continuation id="f-392-1" continuedAt="f-392-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 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-90" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-393">1,631,707</ix:nonFraction> shares available for issuance, 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 (the "Non-Employee Directors Plan") which includes <ix:nonFraction unitRef="shares" contextRef="c-91" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-394">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><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-395" continuedAt="f-395-1" 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%">2025</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></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</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) (2)</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-92" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-396">81,940</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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-92" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-397">64.79</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-93" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-398">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-93" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-399">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"/></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-94" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-400">50,741</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-94" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-401">64.91</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-95" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-402">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-95" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-403">77.70</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;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)&#160;&#160;&#160;&#160;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.</span></div></ix:nonNumeric><div style="margin-top:3pt;padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-395-1">(2)&#160;&#160;&#160;&#160;The PSUs granted in 2024, based on the Company's return on invested capital ("ROIC") for the performance period ended December 31, 2024, earned <ix:nonFraction unitRef="number" contextRef="c-3" decimals="3" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount" scale="-2" id="f-404">45.0</ix:nonFraction>% of the targeted PSUs awarded.  Therefore, <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="0" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" format="ixt:num-dot-decimal" scale="0" id="f-405">26,363</ix:nonFraction> units will convert to shares and be issued in 2027.</ix:continuation>  </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 represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a <ix:nonNumeric contextRef="c-96" name="rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" format="ixt-sec:durday" id="f-406">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, 2025 were $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="rock:AccruedEquityBasedCompensation" scale="6" id="f-407">22.9</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-408">4.2</ix:nonFraction>&#160;million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-5" name="rock:AccruedEquityBasedCompensation" scale="6" id="f-409">18.7</ix:nonFraction> million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2024 were $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="rock:AccruedEquityBasedCompensation" scale="6" id="f-410">23.7</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-411">3.2</ix:nonFraction>&#160;million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-5" name="rock:AccruedEquityBasedCompensation" scale="6" id="f-412">20.5</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-101" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-413">17.0</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-414">18.1</ix:nonFraction>&#160;million at March&#160;31, 2025 and December&#160;31, 2024, respectively.</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%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" id="f-415" escape="true"><ix:continuation id="f-392-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 following table provides the number of restricted stock units credited to active participant accounts and the payments made with respect to MSPP liabilities:</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.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="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: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%">2025</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%">2024</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-96" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="0" id="f-416">18,283</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-103" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="0" id="f-417">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"/></tr><tr><td colspan="3" style="background-color:#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-104" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-418">1,928</ix:nonFraction>&#160;</span></td><td style="background-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-105" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-419">2,023</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div id="i7920664a0d8b45eeaed7a90ff8888f33_64"></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-420" continuedAt="f-420-1" escape="true">PRODUCT WARRANTIES</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 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. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="f-421" continuedAt="f-421-1" escape="true">Activity in the product warranties is summarized as follows (in thousands):</ix:nonNumeric></span></div><ix:continuation id="f-421-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: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="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%">2025</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%">2024</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-422">17,463</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-423">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="display:none"/><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/accruals during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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" format="ixt:num-dot-decimal" scale="3" id="f-424">6,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-3" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease" format="ixt:num-dot-decimal" scale="3" id="f-425">1,056</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%">Acquired warranty accruals during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="f-426">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-3" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" format="ixt:fixed-zero" scale="3" id="f-427">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="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%">Settlements made during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:StandardProductWarrantyAccrualPayments" format="ixt:num-dot-decimal" scale="3" id="f-428">5,698</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:StandardProductWarrantyAccrualPayments" scale="3" id="f-429">127</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 #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:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-430">18,716</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:StandardProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="f-431">10,068</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></ix:continuation></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_67"></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-432" continuedAt="f-432-1" escape="true">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS</ix:nonNumeric></span></div><ix:continuation id="f-432-1" continuedAt="f-432-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 periodically undertakes restructuring initiatives as part of its focus to improve operating performance and optimize its business portfolio. These initiatives have led to outsourcing or discontinuing low-volume, low margin products, selling or exiting less profitable businesses or product lines, or reorganizing the Company's manufacturing footprint. As a result, the Company has incurred costs related to discrete restructuring events for moving and closing facilities, severance, inventory write-downs, and  warranty costs associated with discontinued product lines during the three months ended March&#160;31, 2025</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" id="f-433" continuedAt="f-433-1" 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 charges (recoveries) incurred by segment related to the restructuring activities described above (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.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="border-bottom: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%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" 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%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="15" 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%">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%">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%">Residential</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-106" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-434">1,137</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-106" 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;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-106" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-436">1,137</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-107" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-437">&#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-107" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-438">72</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-107" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-439">72</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%">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-108" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-440">68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-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-108" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-442">68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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" scale="3" id="f-443">138</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-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-109" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-445">138</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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-446">4,530</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-110" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-447">81</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-110" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-448">4,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-111" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-449">269</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-111" 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-111" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-451">269</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-112" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-452">&#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-112" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-453">&#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-112" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-454">&#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-113" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-455">&#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-113" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-456">&#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-113" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-457">&#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-114" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-458">31</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-114" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-459">&#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-114" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-460">31</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-115" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-461">&#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-115" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-462">&#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-115" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-463">&#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" format="ixt:num-dot-decimal" scale="3" id="f-464">5,766</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" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-465">81</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" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-466">5,847</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:BusinessExitCosts1" scale="3" id="f-467">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-3" decimals="-3" sign="-" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-468">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-3" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-469">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"/></tr></table></div></ix:nonNumeric></ix:continuation><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="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-432-2"><ix:continuation id="f-433-1"><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 impairments were recorded in the consolidated statements of income (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="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%">2025</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%">2024</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-116" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-470">4,362</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-117" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-471">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="display:none"/><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-118" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-472">1,485</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-119" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-473">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="display:none"/><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" format="ixt:num-dot-decimal" scale="3" id="f-474">5,847</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-475">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="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 contextRef="c-1" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="f-476" 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 recorded in current accrued expenses on the consolidated balance sheets relating to the Company&#8217;s restructuring efforts (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.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%">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%">2024</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-477">12,011</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><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-478">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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exit activity costs recognized</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-479">5,766</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-480">407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="f-481">4,670</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" scale="3" id="f-482">553</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-483">13,107</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-484">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"/></tr></table></div></ix:nonNumeric></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_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%">(11)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-485" continuedAt="f-485-1" escape="true">INCOME TAXES</ix:nonNumeric></span></div><ix:continuation id="f-485-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="f-486" 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 summarizes the provision for income taxes for continuing operations 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: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="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%">2025</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%">2024</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 (in thousands)</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-487">5,934</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-488">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="display:none"/><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-489">21.9</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-490">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="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><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 effective tax rate for the three months ended March&#160;31, 2025 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-491">21</ix:nonFraction>% due to state taxes and nondeductible permanent differences partially offset by benefits related to tax credit generation or utilization and favorable discrete items due to an excess tax benefit on stock-based compensation. The effective tax rate for the three months ended March&#160;31, 2024 was greater than the U.S. federal statutory rate of <ix:nonFraction unitRef="number" contextRef="c-3" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-492">21</ix:nonFraction>% 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></ix:continuation><div id="i7920664a0d8b45eeaed7a90ff8888f33_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%">(12)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-493" continuedAt="f-493-1" escape="true">EARNINGS PER SHARE</ix:nonNumeric></span></div><ix:continuation id="f-493-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-494" 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 (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="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 #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%">2025</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%">2024</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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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="background-color:#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%">Basic weighted average shares outstanding</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="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-495">30,252</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="shares" contextRef="c-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-496">30,572</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%">Dilutive effect of common stock options and 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:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-497">222</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:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-498">221</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%">Dilutive weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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-499">30,474</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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%"><ix:nonFraction unitRef="shares" contextRef="c-3" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-500">30,793</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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="f-501" 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 (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="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 #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%">2025</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%">2024</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-120" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-502">60</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-121" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-503">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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="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="i7920664a0d8b45eeaed7a90ff8888f33_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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></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-504" continuedAt="f-504-1" escape="true">SEGMENT INFORMATION</ix:nonNumeric></span></div><ix:continuation id="f-504-1" continuedAt="f-504-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-505">four</ix:nonFraction> reportable segments: Residential, Agtech, Renewables and Infrastructure.  The Company's reportable segments are each managed separately because they design, engineer, manufacture, and where applicable install, distinct products with different production processes.</span></div><div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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 consists of operating segments that sell the following products and services to major retail home centers, building material wholesalers, building product distributors, roofing distributors, residential contractors, property management companies, manufactured housing dealers, postal services distributors and providers, and online direct to end consumers: roof and foundation ventilation products, single point and centralized mail systems and package solutions, outdoor living space products (sun-shading), rain dispersion systems, metal roofing job site services, and other construction accessories.</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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 consists of an operating segment that sells the following products and services to large-scale indoor commercial growers, agricultural research, development facilities, as well as convenience store, travel centers, food retailers, and quick-serve restaurants: design, manufacture and build controlled environmental agriculture, custom greenhouses and structural canopies.</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%">&#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 consists of an operating segment that sells the following products and services to developers, EPCs and owners / operators of solar fields: design, manufacture and install solar energy mounting systems including foundation, racking, and electrical balance of system.</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%">&#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 consists of an operating segment that sells the following products to commercial and transportation contractors and fabricators:  expansion joints, structural bearings, rubber pre-formed seals and other sealants, elastomeric concrete, and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accounting policies of the Company's segments are the same as those described in Note 1 "Summary of Significant Accounting Policies" included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2024. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="f-506" continuedAt="f-506-1" escape="true">The following tables illustrate certain measurements used by management to assess the performance of the segments described above (in thousands):</ix:nonNumeric></span></div><ix:continuation id="f-506-1" continuedAt="f-506-2"><div style="margin-top:10pt;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:29.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.287%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.157%"/><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, 2025</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:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-507">179,994</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-508">45,040</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-509">43,658</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-510">21,323</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-511">290,015</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:top"/></tr><tr><td colspan="3" style="background-color:#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:112%">Less (1):</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="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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-512">148,734</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-513">41,655</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-514">46,803</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-515">16,065</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-516">253,257</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#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:112%">Segment profit (loss)</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-517">31,260</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-518">3,385</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(<ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-519">3,145</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-520">5,258</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-521">36,758</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:top"/></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(<ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-522">11,248</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-523">1,637</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other expense, net</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="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherIncome" scale="3" id="f-524">94</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-525">27,053</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:top"/></tr></table></div><div style="margin-top:10pt;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:29.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.432%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.287%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.369%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.157%"/><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 #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:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-526">185,111</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-527">34,027</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-528">51,496</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-529">21,872</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-530">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:top"/></tr><tr><td colspan="3" style="background-color:#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:112%">Less (1):</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="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 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-531">150,765</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-532">31,419</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-533">49,852</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-534">16,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-535">249,012</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#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:112%">Segment profit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-536">34,346</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-537">2,608</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-538">1,644</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-539">4,896</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:top"/><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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-540">43,494</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:top"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(<ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-541">11,758</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="f-542">750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other income, net</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="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:OtherIncome" format="ixt:num-dot-decimal" scale="3" id="f-543">1,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-544">33,507</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:top"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Footnotes:</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM.</span></div></ix:continuation></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%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><ix:continuation id="f-504-2"><ix:continuation id="f-506-2"><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%">(2)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables are the reported segment&#8217;s and unallocated corporate reported depreciation and amortization (in thousands):</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.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="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:120%">Three Months Ended<br/>March 31,</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:120%">2025</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:120%">2024</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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td 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-122" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-545">2,527</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-124" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-546">2,591</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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-547">2,760</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:DepreciationDepletionAndAmortization" scale="3" id="f-548">830</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-549">2,280</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-111" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-550">1,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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-112" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-551">701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-552">745</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-553">818</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-115" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-554">597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total depreciation and amortization</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:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-555">9,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-3" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-556">6,663</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: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 is the reported segment's 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/>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:120%">December 31,<br/>2024</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%">Residential</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-126" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-557">638,433</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-127" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-558">497,317</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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-128" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-559">305,855</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-560">156,929</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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-561">368,587</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-131" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-562">390,881</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%">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-132" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-563">78,924</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-564">78,366</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-565">47,619</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:Assets" format="ixt:num-dot-decimal" scale="3" id="f-566">295,917</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 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%">Total assets</span></td><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:10pt;font-weight:400;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: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-567">1,439,418</ix:nonFraction>&#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:10pt;font-weight:400;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: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-568">1,419,410</ix:nonFraction>&#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"/></tr></table></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="f-569" 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 presents disaggregated revenue by timing of transfer of control to customers by reported segment (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:17.201%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><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.712%"/><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:14.712%"/><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.712%"/><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:14.717%"/><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, 2025</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%">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%">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%">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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">Point in Time</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-136" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-570">179,994</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-137" decimals="-3" name="us-gaap:Revenues" scale="3" id="f-571">276</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-138" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-572">6,982</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-139" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-573">7,880</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-574">195,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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:fixed-zero" scale="3" id="f-575">&#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-142" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-576">44,764</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-577">36,676</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-578">13,443</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-579">94,883</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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-146" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-580">179,994</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-57" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-581">45,040</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-58" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-582">43,658</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-59" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-583">21,323</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 #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-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-584">290,015</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><div style="margin-top:10pt;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:17.201%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><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.712%"/><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:14.712%"/><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.712%"/><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:14.717%"/><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%">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%">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%">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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">Point in Time</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-147" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-585">183,332</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-148" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-586">2,339</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-149" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-587">6,789</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-150" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-588">6,310</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-151" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-589">198,770</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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><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-590">1,779</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-153" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-591">31,688</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-154" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-592">44,707</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-155" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-593">15,562</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-156" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-594">93,736</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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-157" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-595">185,111</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-158" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-596">34,027</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-159" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-597">51,496</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-160" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-598">21,872</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:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-599">292,506</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="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 id="i7920664a0d8b45eeaed7a90ff8888f33_1043"></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(14)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SubsequentEventsTextBlock" id="f-600" continuedAt="f-600-1" escape="true">SUBSEQUENT EVENT</ix:nonNumeric></span></div><ix:continuation id="f-600-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%">In April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $<ix:nonFraction unitRef="usd" contextRef="c-161" decimals="-6" name="srt:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="6" id="f-601">200</ix:nonFraction>&#160;million of the Company's issued and outstanding common stock. The new program has a duration of <ix:nonNumeric contextRef="c-161" name="rock:ShareRepurchaseProgramDuration" format="ixt-sec:durwordsen" id="f-602">three years</ix:nonNumeric>, ending April 30, 2028. 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. The Company has not made repurchases under the new repurchase program as of April 30, 2025.</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%">17</span></div></div></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_79"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><div style="margin-top:25pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">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, consolidated operating 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="i7920664a0d8b45eeaed7a90ff8888f33_82"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="margin-top: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 residential, agtech, renewable energy 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">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">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">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 home improvement retailers, wholesalers, distributors, contractors, institutional and commercial growers of fruits, vegetables, flowers and other plants, convenience store, travel centers, food retailers, and quick-serve restaurants, and renewable energy (solar) developers.</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, 2025, the Company operated forty facilities, comprised of thirty-two manufacturing facilities, two distribution centers, and six offices, which are located in nineteen 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="margin-top:10pt;text-align:justify"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Trends</span><span style="color:#305473;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%">Impacts of Macroeconomic Conditions on our Business  </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></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 is closely monitoring the fluid nature of the current macroeconomic conditions as it could be adversely impacted by the potential expansion of tariffs for imports of raw materials, primarily steel and aluminum, used in its manufacturing processes, and to a lesser extent, logistics and imported products used by the Company's customers, such as solar modules, as well as responsive or related policies enacted in other countries.  </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 global and regional economic conditions may cause volatility in demand for our products as well as cost of materials and logistics, and transportation delays.  These conditions may result in impacts to the pricing of the Company's products, product availability and its results of operations, for which such impact is uncertain at this time.  </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Business Strategy</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="margin-top: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 comfortable living, productive growing, and sustainable power 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.</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 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, including most recently the acquisition of three businesses in separate transactions all of which were funded with cash on hand, 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="margin-top:10pt;text-align:justify"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Developments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $200 million of the Company's issued and outstanding common stock. The new program has a duration of three years, ending April 30, 2028. 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. The Company has not made repurchases under the new repurchase program as of April 30, 2025.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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%">On March 31, 2025, the Company acquired two privately held businesses that primarily specialize in the manufacturing of metal roofing systems. The Company purchased all the outstanding stock of one of the businesses and substantially all of the assets of the other business for a combined preliminary purchase consideration of $90&#160;million in an all cash transaction.  These businesses are reported as part of the Company's Residential 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%">On February 11, 2025, the Company purchased all the outstanding stock of Lane Supply, a privately held company that designs, manufactures and installs structural canopies serving the convenience store, travel center, food retail, and quick serve restaurant markets, for $117 million in an all cash transaction. Lane Supply is reported as part of the Company's Agtech 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%">On December 17, 2024, the Company sold its electronic locker business within its Residential segment to a third party and received net proceeds of $28 million.</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_85"></div><div style="margin-top:10pt"><span style="color:#305473;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:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Three Months Ended March&#160;31, 2025 Compared to the Three Months Ended March&#160;31, 2024  </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%">2025</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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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%">290,015&#160;</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%">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></tr><tr><td colspan="3" style="background-color:#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%">212,315&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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></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%">77,700&#160;</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.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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></tr><tr><td colspan="3" style="background-color:#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,190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></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%">25,510&#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%">8.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%">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></tr><tr><td colspan="3" style="background-color:#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</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,637)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#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%">(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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 expense (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%">94&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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.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%">(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></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%">27,053&#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.3&#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%">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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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%">5,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.0&#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%">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></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%">21,119&#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.3&#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%">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></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:98.538%"><tr><td style="width:1.0%"/><td style="width:24.419%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.214%"/><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:11.214%"/><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:9.582%"/><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:10.917%"/><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:11.214%"/><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:10.035%"/><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%">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%">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%">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%">Residential</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%">179,994&#160;</span></td><td style="background-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%">185,111&#160;</span></td><td style="background-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,117)</span></td><td style="background-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%">(2,745)</span></td><td style="background-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%">(2,372)</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%">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%">45,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,284&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,271)</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%">Renewables</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,658&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,838)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,838)</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,323&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">(549)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">(549)</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%">290,015&#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%">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%">(2,491)</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%">15,284&#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%">(2,745)</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%">(15,030)</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 decreased by $2.5 million, or 0.9%, to $290.0 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">for the three months ended March&#160;31, 2025 compared to the three months ended March&#160;31, 2024. A 5% decrease in organic revenue, primarily the result of market softness in the Renewables segment, and portfolio management activities in the prior year related to the sale of the Company's residential electronic locker business, were nearly offset by $15.3 million of net sales generated from the current quarter acquisition of Lane Supply in the Residential segment. Consolidated backlog increased 30% to $434 million, as compared to prior year.</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 Residential segment decreased $5.1 million, or 2.8%, to $180.0 million for the three months ended March&#160;31, 2025 compared to $185.1 million for the three months ended March&#160;31, 2024. The decrease was due in part to portfolio management activities in the prior year related to the sale of the Company's residential electronic locker business. Market softness in retail end market point-of-sale revenue along with mail and </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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%">package product sales was nearly offset by participation gains and new product penetration in our building accessories product sales.</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 increased 32.4%, or $11.0 million, to $45.0 million for the three months ended March&#160;31, 2025 compared to $34.0 million for the three months ended March&#160;31, 2024.  The revenue increase was largely due to $15.3 million generated from the current quarter acquisition of Lane Supply, which more than offset a 12.6% decrease in organic sales related to project start delays for two produce projects waiting on permit approval. The Company expects to have permits finalized and start construction around the end of the second quarter. Backlog increased 226% year over year in this segment, driven by both organic orders and with the acquisition of Lane Supply.</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.8 million, or 15.1%, to $43.7 million for the three months ended March&#160;31, 2025 compared to $51.5 million for the three months ended March&#160;31, 2024. The decrease was in line with expectations given the slower bookings realized in the second half of 2024 due to  headwinds associated with the December 2024 panel installation deadline related to the expiration of the 2022 Presidential Proclamation tariff moratorium. Order backlog decreased 23% from the prior year as a result of the aforementioned challenges. </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 decreased 2.7%, or $0.5 million, to $21.3 million for the three months ended March&#160;31, 2025 compared to $21.9 million for the three months ended March&#160;31, 2024. The decrease in revenue was a result of project delays pushing shipments into the second quarter. Backlog increased 11% from the prior year. Demand and quoting remain strong, supported by continued investment at the federal and state levels.</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 decreased to 26.8% for the three months ended March&#160;31, 2025 compared to 28.9% for the three months ended March&#160;31, 2024. The decrease was driven by product line mix and volume leverage in the Renewables segment, partially offset by overall continued operational efficiencies along with 80/20 initiatives.</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") expense decreased by $0.5 million, or 0.9% to $52.2 million for the three months ended March&#160;31, 2025 compared to $52.7 million for the three months ended March&#160;31, 2024. The $0.5 million decrease was primarily due to lower performance-based compensation expense as compared to the prior year quarter. SG&amp;A expense as a percentage of net sales was relatively flat at 18.0% for the three months ended March&#160;31, 2025 compared to 18.1% for the three months ended March&#160;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%">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%">2025</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="3" style="padding:2px 1pt;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%">Residential</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%">31,260&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><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%">34,346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#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%">(3,086)</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%">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%">3,385&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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.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,608&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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:#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%">777&#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%">Renewables</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,145)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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)</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,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,789)</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%">5,258&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">362&#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,248)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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.9)</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%">(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%">510&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated income from operations</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%">25,510&#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="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:10pt;font-weight:400;line-height:100%">8.8&#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"><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 #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%">31,736&#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="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:10pt;font-weight:400;line-height:100%">10.8&#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"><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 #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,226)</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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td 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 Residential segment generated an operating margin of 17.4% in the current year quarter compared to 18.6% in the prior year quarter. Operating margin declined year over year, primarily as a result of product mix and lower volume during 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 Agtech segment generated an operating margin of 7.5% in the current year quarter compared to 7.7% in the prior year quarter. Operating margin declined year over year due to product mix shift along with costs related to the acquisition of Lane Supply. </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 Renewables segment generated an operating margin of (7.2)% in the current year quarter compared to 3.2% in the prior year quarter. The decrease in operating margin was impacted by lower volume and field inefficiencies related to the launch and ramp of the 1P tracker technology introduced in 2024.  In addition, margin was impacted </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:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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%">by restructuring charges incurred during the current quarter to optimize operations for the 1P tracker technology along with costs related to the discontinued legacy solar tracker solutions.</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 24.7% during the three months ended March&#160;31, 2025 compared to 22.4% during the three months ended March&#160;31, 2024. The margin improved year over year driven by strong execution, supply chain management and product line 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%">Unallocated corporate expenses decreased $0.5 million from $11.8 million during the three months ended March&#160;31, 2024 to $11.2 million during the three months ended March&#160;31, 2025. The decrease was largely the result of lower performance-based compensation expense partially offset by higher acquisition-related 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 $1.6 million for the three months ended March&#160;31, 2025, compared to $0.8 million for the three months ended March&#160;31, 2024. Increase in interest income during the current year quarter was the result of earnings on certain interest-bearing cash accounts. No amounts were outstanding on the Company's revolving credit facility during the three months ended March&#160;31, 2025 and 2024, 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 recorded other expense of $0.1 million for the three months ended March&#160;31, 2025, compared to other income of $1.0 million recorded for the three months ended March&#160;31, 2024.  The change year over year is the combined result of $1.0 million for the final working capital settlement recorded in the prior year quarter related to the sale of the Company's Japan-based solar racking business within its Renewables segment along with 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 $5.9 million and $8.6 million, with effective tax rates of 21.9% and 25.6% for the three months ended March&#160;31, 2025, and 2024, respectively.  The effective tax rate for the three months ended March&#160;31, 2025 was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by benefits related to tax credit generation or utilization and favorable discrete items due to an excess tax benefit on stock-based compensation.  The effective tax rate for the three months ended March&#160;31, 2024 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="i7920664a0d8b45eeaed7a90ff8888f33_88"></div><div style="margin-top:10pt"><span style="color:#305473;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, 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%">December 31, 2024</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;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%">25,114&#160;</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%">269,480&#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%">395,069&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">395,069&#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%">420,183&#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%">664,549&#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 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, 2025 and December 31, 2024, the Company's foreign subsidiaries held $6.7 million and $8.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 both its short-term and long-term cash requirements and to continue to invest in operational excellence, growth initiatives, share repurchases and the development of the organization.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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-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 new authorized program as further detailed below. 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%">In April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $200 million of the Company's issued and outstanding common stock. The new program has a duration of three years, ending April 30, 2028. 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%">Over the long-term, the Company expects that future investments, including strategic business acquisitions, may be financed through a number of sources, including internally available cash, availability under the Credit Agreement, new debt financing, the issuance of equity securities, or any combination of the aforementioned.</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, 2024. 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, 2024.</span></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flows</span></div><div style="margin-top: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%">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%">2024</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%">13,684&#160;</span></td><td style="background-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%">53,181&#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%">(195,664)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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"/></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%">(62,394)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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"/></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%">8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;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 (decrease) increase 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%">(244,366)</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%">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"/></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, 2025 of $13.7 million consisted of net income of $21.1 million, non-cash net charges totaling $12.4 million, which include depreciation, amortization, stock-based compensation and other non-cash charges, and $19.8 million of cash invested in working capital and other net operating assets. The cash invested in working capital and other net operating assets was primarily the result of payments made for prior year-end accruals of performance based incentive plans, deferred compensation, and settlements of customer rebates.</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, 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 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="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_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-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, 2025 of $195.7 million was primarily due to the acquisitions of Lane Supply and the two metal roofing related businesses of $184.6 million. To a lesser extent, net capital expenditures of $11.4 million, offset by receipt of the $0.3 million final working capital settlement resulting from the sale of the Company's electronic locker business within the Company's Residential segment in the fourth quarter of 2024, also contributed to the net investment of cash.</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, 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-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, 2025 of $62.4 million consisted of common stock repurchases. The Company paid $60.0 million during the three months ended March 31, 2025 related to repurchase of 914,679 shares under the Company's authorized share repurchase program. The remainder of the repurchased common stock of $2.4 million 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, 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 id="i7920664a0d8b45eeaed7a90ff8888f33_91"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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, 2025 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, 2024. </span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_94"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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="i7920664a0d8b45eeaed7a90ff8888f33_97"></div><div style="margin-top:25pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3.</span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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, 2024.</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_100"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Controls and Procedures</span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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 acquired Lane Supply, Inc. on February 11, 2025 and two metal roofing related businesses on March 31, 2025. The aforementioned acquisitions will be excluded from management's annual report on internal control over financial reporting for the year ending December 31, 2025. Except for the acquisitions of Lane Supply, Inc. and two metal roofing related businesses, 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 </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></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%">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="i7920664a0d8b45eeaed7a90ff8888f33_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%">PART II. OTHER INFORMATION</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_106"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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="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, 2025.</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_109"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;1A.</span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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, 2024.  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, 2025, 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, 2024, except as follows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Legal and Regulatory Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Imposed tariffs and potential future tariffs may result in increased costs and could adversely affect the Company's results of operations.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tariffs imposed in the U.S. on certain steel and aluminum products imported into the U.S. have created volatility in the market and have increased the costs of these inputs. Increased costs for imported steel and aluminum products have led domestic sellers to respond with market-based increases to prices for such inputs as well. These tariffs, along with any additional tariffs or trade restrictions that may be implemented by the U.S. or other countries, could result in further increased costs, shifting in competitive positions and a decreased available supply of steel, resins and aluminum as well as additional imported components and inputs.&#160;The Company may not be able to pass price increases on to its customers and may not be able to secure adequate alternative sources of steel, resins and aluminum on a timely basis. </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%">Specifically, the Company may be adversely affected by recent uncertainty and changes in U.S. trade policies, including tariffs, trade agreements or other trade restrictions imposed by the U.S. or other government. For example, on March 12, 2025, the U.S. government imposed a 25% tariff on steel imports, and on April 2, 2025, the U.S. government announced a 10% tariff on product imports from almost all countries and individualized higher tariffs on certain other countries. Several tariff announcements have been followed by announcements of limited exemptions and temporary pauses. These unprecedented actions have caused substantial uncertainty and volatility in the market and may result in retaliatory measures on U.S. goods. While volatility in the market and retaliatory tariffs imposed by other countries on U.S. goods have not yet had a significant impact on the Company's businesses and results of operations, the Company cannot predict further developments.&#160;</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%">Changes to and evolving U.S. trade policies may lead to continuing uncertainty and volatility in U.S. financial and economic conditions and commodity markets, declining consumer confidence, significant inflation, and diminished expectations for the economy, and ultimately reduced demand for the Company's products and services. Such conditions could adversely affect the Company's income from operations for some of the Company's businesses and customer demand for some of the Company's products which could have a material adverse effect on the Company's results of operations, financial position and cash flows.</span></div><div style="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><div id="i7920664a0d8b45eeaed7a90ff8888f33_112"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;2. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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 April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $200&#160;million of the Company's issued and outstanding common stock. The new program has a duration of three years, ending April 30, 2028. 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. The Company has not made repurchases under the new repurchase program as of April 30, 2025.</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%">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 following table sets forth purchases made by or on behalf of the Company during the quarter ended March 31, 2025.</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:22.291%"/><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.467%"/><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.467%"/><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.467%"/><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.472%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Issuer Purchases of Equity Securities</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Period</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:120%">Total Number<br/>of Shares<br/>Purchased</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:120%">Average Price<br/>Paid per Share</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:120%">Total Number<br/>of Shares<br/>Purchased as Part<br/>of Publicly <br/>Announced Program</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:120%">Approximate<br/>Dollar Value of<br/>Shares that May<br/>Yet Be Purchased<br/>Under the<br/>Program</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 1 - 31, 2025</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%">&#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 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%">&#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 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%">&#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 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%">78,958,152&#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%">February 1 - 28, 2025</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%">179,562&#160;</span></td><td style="background-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%">66.17&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,562&#160;</span></td><td style="background-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%">67,075,695&#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%">March 1 - 31, 2025</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%">735,117&#160;</span></td><td style="background-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%">65.46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">735,117&#160;</span></td><td style="background-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%">18,958,190&#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%">Total</span></td><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 #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%">914,679&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span 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%">65.60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 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 #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%">914,679&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 Company did not sell unregistered equity securities during the period covered by this report.</span></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_115"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;3. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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="i7920664a0d8b45eeaed7a90ff8888f33_118"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;4. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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="i7920664a0d8b45eeaed7a90ff8888f33_121"></div><div style="margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;5. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Other Information</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%">During the quarter ended March 31, 2025, <ix:nonNumeric contextRef="c-1" name="ecd:NonRule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-603"><ix:nonNumeric contextRef="c-1" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-604"><ix:nonNumeric contextRef="c-1" name="ecd:NonRule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-605"><ix:nonNumeric contextRef="c-1" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-606">none of the Company's directors or officers (as defined in Rule 16a-1(f) under the Exchange Act) adopted, modified, or terminated a &#8220;Rule 10b5-1 trading arrangement&#8221; or a &#8220;non-Rule 10b5-1 trading arrangement&#8221;</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric> as each term is defined in Item 408(a) of Regulation S-K.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_124"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><div style="-sec-extract:summary;margin-top:10pt"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item&#160;6. </span><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;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="q12025exhibit311.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="q12025exhibit312.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 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="q12025exhibit321.htm">32.1</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*&#x5E;</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="q12025exhibit322.htm">32.2</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*&#x5E;</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 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%">&#x5E;</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%">27</span></div></div></div><div id="i7920664a0d8b45eeaed7a90ff8888f33_127"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i7920664a0d8b45eeaed7a90ff8888f33_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#305473;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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/ Joseph A. Lovechio</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%">Joseph A. Lovechio</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%">Vice President and 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: April&#160;30, 2025 </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%">28</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>q12025exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="ib2a865ccaff84b5eb5ff699cdb79eb40_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.1</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATIONS</font></div><div style="margin-top:12pt;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.67pt">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.67pt">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:37.23pt">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.67pt">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.67pt">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.67pt">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:36.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.182%"></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%">April 30, 2025</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>q12025exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="i5bdbdfa320c84d238c17db21c566b5ee_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.2</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATIONS</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Joseph A. Lovechio, 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.67pt">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.67pt">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:37.23pt">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.67pt">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.67pt">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.67pt">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: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:36.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.182%"></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%">April 30, 2025</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; Joseph A. Lovechio</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%">Joseph A. Lovechio</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%">Vice President and 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>q12025exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="i4c71754722794424900910224a1a6803_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION OF CHAIRMAN OF THE BOARD, 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, Chairman of the Board, 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, 2025 (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%">April 30, 2025</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>q12025exhibit322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="icd4c43ce591941958bf6d5d462b7ce22_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.2</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION OF 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, Joseph A. Lovechio, 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, 2025 (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; Joseph A. Lovechio</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%">Joseph A. Lovechio</font></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vice President and 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%">April 30, 2025</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-20250331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:rock="http://www.gibraltar1.com/20250331" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.gibraltar1.com/20250331">
  <xs:import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.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-20250331_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-20250331_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-20250331_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-20250331_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>9952151 - 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>9952152 - 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>9952153 - 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>9952154 - 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>9952155 - 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>9952156 - 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>9952157 - 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>9952158 - 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>9952159 - 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>9952160 - 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>9952161 - 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="Acquisitions" roleURI="http://www.gibraltar1.com/role/Acquisitions">
        <link:definition>9952162 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssets" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets">
        <link:definition>9952163 - 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>9952164 - 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>9952165 - 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>9952166 - 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>9952167 - 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>9952168 - 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>9952169 - 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="SubsequentEvents" roleURI="http://www.gibraltar1.com/role/SubsequentEvents">
        <link:definition>9952170 - Disclosure - Subsequent Events</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>9955511 - 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>9955512 - 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>9955513 - 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>9955514 - 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="AcquisitionsTables" roleURI="http://www.gibraltar1.com/role/AcquisitionsTables">
        <link:definition>9955515 - Disclosure - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsTables" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables">
        <link:definition>9955516 - 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="LongTermDebtTables" roleURI="http://www.gibraltar1.com/role/LongTermDebtTables">
        <link:definition>9955517 - Disclosure - Long-Term Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationTables" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationTables">
        <link:definition>9955518 - 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>9955519 - 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>9955520 - 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>9955521 - 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>9955522 - 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>9955523 - 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="AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails" roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails">
        <link:definition>9955524 - 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>9955525 - 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>9955525 - 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>9955526 - 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="AcquisitionsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails">
        <link:definition>9955527 - Disclosure - Acquisitions (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails">
        <link:definition>9955528 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionScheduleofAcquiredIntangibleAssetsDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails">
        <link:definition>9955529 - 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="AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails">
        <link:definition>9955530 - Disclosure - Acquisition (Summary of Unaudited Pro Forma Financial 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="GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails">
        <link:definition>9955531 - 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>9955532 - 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>9955533 - 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>9955534 - 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>9955535 - 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>9955536 - 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="LongTermDebtScheduleofLongtermDebtDetails" roleURI="http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails">
        <link:definition>9955537 - Disclosure - Long-Term Debt (Schedule of Long-term Debt) (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>9955538 - 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>9955539 - 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>9955540 - 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>9955541 - 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>9955542 - 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>9955543 - 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>9955544 - 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>9955545 - 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>9955546 - 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>9955547 - 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>9955548 - 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>
      <link:roleType id="SubsequentEventsDetails" roleURI="http://www.gibraltar1.com/role/SubsequentEventsDetails">
        <link:definition>9955549 - Disclosure - Subsequent Events (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_CostsInExcessOfBillingsNet" abstract="false" name="CostsInExcessOfBillingsNet" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" abstract="false" name="TreasuryStockValueAcquiredExciseTaxAmountCostMethod" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" abstract="false" name="ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" abstract="false" name="ContractWithCustomerLiabilityCurrentUnearnedRevenue" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" 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_LaneSupplyMember" abstract="true" name="LaneSupplyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_TwoPrivatelyHeldBusinessesMember" abstract="true" name="TwoPrivatelyHeldBusinessesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_TwoMetalRoofingBusinessesMember" abstract="true" name="TwoMetalRoofingBusinessesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_A2025AcquisitionsMember" abstract="true" name="A2025AcquisitionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_BacklogMember" abstract="true" name="BacklogMember" 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_AgtechMember" abstract="true" name="AgtechMember" 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_InfrastructureMember" abstract="false" name="InfrastructureMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <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_IndefiniteLivedAccumulatedAmortization" abstract="false" name="IndefiniteLivedAccumulatedAmortization" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" abstract="false" name="TotalAcquiredIntangibleAssetsAccumulatedAmortization" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A2022SeniorCreditAgreementMember" abstract="true" name="A2022SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_A2019SeniorCreditAgreementMember" abstract="true" name="A2019SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_DebtInstrumentApplicableRatePeriodAxis" abstract="true" name="DebtInstrumentApplicableRatePeriodAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <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_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_LondonInterbankOfferedRateLIBOR1Member" abstract="true" name="LondonInterbankOfferedRateLIBOR1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types: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_Amended2018PlanMember" abstract="true" name="Amended2018PlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <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_ManagementStockPurchasePlanMember" abstract="false" name="ManagementStockPurchasePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_NonCurrentLiabilitiesMember" abstract="true" name="NonCurrentLiabilitiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_AccruedExpensesCurrentMember" abstract="true" name="AccruedExpensesCurrentMember" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <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_ResidentialMember" abstract="false" name="ResidentialMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_NewShareRepurchaseProgramMember" abstract="true" name="NewShareRepurchaseProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_ShareRepurchaseProgramDuration" abstract="false" name="ShareRepurchaseProgramDuration" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>rock-20250331_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 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc-->
<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-20250331.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_NetIncomeLoss_b3b95d95-6c51-4136-a9d4-1acbd04e6441" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a8494147-ceae-4a8d-a538-06c6abd2bfe5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_b3b95d95-6c51-4136-a9d4-1acbd04e6441" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a8494147-ceae-4a8d-a538-06c6abd2bfe5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_95cd713f-900c-40d2-ae81-954d9aaa5341" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_b3b95d95-6c51-4136-a9d4-1acbd04e6441" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_95cd713f-900c-40d2-ae81-954d9aaa5341" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_19daddfa-b117-4f87-b78f-c0396c1c9cc4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_1a02cb7c-aac5-44bf-9a7c-73368eeae0e0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_19daddfa-b117-4f87-b78f-c0396c1c9cc4" xlink:to="loc_us-gaap_GrossProfit_1a02cb7c-aac5-44bf-9a7c-73368eeae0e0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_bafaadfe-2391-495e-854d-ac244db3e0b1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_19daddfa-b117-4f87-b78f-c0396c1c9cc4" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_bafaadfe-2391-495e-854d-ac244db3e0b1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7db0aafc-848d-4b63-b17c-0c49ac16cf64" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_2881384a-547b-4ce6-bff9-8183bad35cb3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7db0aafc-848d-4b63-b17c-0c49ac16cf64" xlink:to="loc_us-gaap_OperatingIncomeLoss_2881384a-547b-4ce6-bff9-8183bad35cb3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_0e78b48d-9ad2-4cdd-b918-ebb6284a09cb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7db0aafc-848d-4b63-b17c-0c49ac16cf64" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_0e78b48d-9ad2-4cdd-b918-ebb6284a09cb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2a200fb3-2962-4e1c-a377-e25d7ca84539" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7db0aafc-848d-4b63-b17c-0c49ac16cf64" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2a200fb3-2962-4e1c-a377-e25d7ca84539" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_1aa3bc6a-2ba0-4247-b8eb-8cdbf9f21156" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_c6a34198-fa54-4602-9539-fce80c4761cb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_1aa3bc6a-2ba0-4247-b8eb-8cdbf9f21156" xlink:to="loc_us-gaap_Revenues_c6a34198-fa54-4602-9539-fce80c4761cb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e374cdbf-6ca7-4e88-b10f-f14ca7345f5e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_1aa3bc6a-2ba0-4247-b8eb-8cdbf9f21156" xlink:to="loc_us-gaap_CostOfRevenue_e374cdbf-6ca7-4e88-b10f-f14ca7345f5e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="rock-20250331.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_7e1c4bb5-a6a7-4b14-98b0-ce223c9f6137" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4faf44c7-cd70-4cd8-922f-cfeac9399b15" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7e1c4bb5-a6a7-4b14-98b0-ce223c9f6137" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4faf44c7-cd70-4cd8-922f-cfeac9399b15" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_76e158b7-4a9e-499f-b9c0-24e2efca5e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7e1c4bb5-a6a7-4b14-98b0-ce223c9f6137" xlink:to="loc_us-gaap_NetIncomeLoss_76e158b7-4a9e-499f-b9c0-24e2efca5e4c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="rock-20250331.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_LiabilitiesAndStockholdersEquity_8de343ca-7da9-473b-a831-810b37055fbb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_adc0f920-b1c2-4c86-9fdc-fcf154ab92b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_8de343ca-7da9-473b-a831-810b37055fbb" xlink:to="loc_us-gaap_LiabilitiesCurrent_adc0f920-b1c2-4c86-9fdc-fcf154ab92b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7bb13379-243f-48c7-b125-3dd73c7e2fc1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_8de343ca-7da9-473b-a831-810b37055fbb" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7bb13379-243f-48c7-b125-3dd73c7e2fc1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_0c92638b-280b-4729-be4f-5f5ed0944a35" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_8de343ca-7da9-473b-a831-810b37055fbb" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_0c92638b-280b-4729-be4f-5f5ed0944a35" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_65ed02f1-7df1-40ba-926a-e70e7596e64a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_8de343ca-7da9-473b-a831-810b37055fbb" xlink:to="loc_us-gaap_StockholdersEquity_65ed02f1-7df1-40ba-926a-e70e7596e64a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_f75f6a03-421c-48c3-bdf0-ed55576604b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_8de343ca-7da9-473b-a831-810b37055fbb" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_f75f6a03-421c-48c3-bdf0-ed55576604b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_31713785-7b2c-4f6e-a888-0d561f8cc5b8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_91be5bda-3d0f-4ca3-89a2-d4b351c41d47" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_31713785-7b2c-4f6e-a888-0d561f8cc5b8" xlink:to="loc_us-gaap_AccountsPayableCurrent_91be5bda-3d0f-4ca3-89a2-d4b351c41d47" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_042939a0-8072-4ad1-8759-e0775310cd5e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_31713785-7b2c-4f6e-a888-0d561f8cc5b8" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_042939a0-8072-4ad1-8759-e0775310cd5e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_9ac2b963-f6d1-4409-ab43-8109377399e4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_31713785-7b2c-4f6e-a888-0d561f8cc5b8" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_9ac2b963-f6d1-4409-ab43-8109377399e4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_61bc008d-1ec6-45b3-977b-adee848649c7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_61bc008d-1ec6-45b3-977b-adee848649c7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_a9df0eb2-14c7-41d2-8fd3-81f3b7f5ae3c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_a9df0eb2-14c7-41d2-8fd3-81f3b7f5ae3c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_d2143643-1380-401a-a181-809505e03ef8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:to="loc_us-gaap_InventoryNet_d2143643-1380-401a-a181-809505e03ef8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_c8252393-2717-4d72-892e-52fde48cca8e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:to="loc_us-gaap_OtherAssetsCurrent_c8252393-2717-4d72-892e-52fde48cca8e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CostsInExcessOfBillingsNet_30c40a2d-be4e-48d8-8691-f9e9ab70960f" xlink:href="rock-20250331.xsd#rock_CostsInExcessOfBillingsNet"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_70ac24ac-41e9-44f7-82ac-3e644320bfdc" xlink:to="loc_rock_CostsInExcessOfBillingsNet_30c40a2d-be4e-48d8-8691-f9e9ab70960f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_0408a407-dcc1-4b96-8a32-41787765ff5d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_PreferredStockValue_0408a407-dcc1-4b96-8a32-41787765ff5d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_56a8e890-585e-45d5-b332-fc04ea0f71d9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_CommonStockValue_56a8e890-585e-45d5-b332-fc04ea0f71d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_007c073e-278e-41fe-b98d-044d3bd67a6c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_AdditionalPaidInCapital_007c073e-278e-41fe-b98d-044d3bd67a6c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_4ac54d2c-ffd5-4b5b-a14b-eb0baae030a9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_4ac54d2c-ffd5-4b5b-a14b-eb0baae030a9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6a1d6055-9551-4240-8875-53b84869010c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6a1d6055-9551-4240-8875-53b84869010c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_151769b5-6471-4c29-b41e-b03fa9eb0c61" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cfe6a8c6-0c0c-4b33-a42c-cd59673f9fef" xlink:to="loc_us-gaap_TreasuryStockValue_151769b5-6471-4c29-b41e-b03fa9eb0c61" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_322c9d77-56f1-49eb-ae75-3fd9b52ea88b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_AssetsCurrent_322c9d77-56f1-49eb-ae75-3fd9b52ea88b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_4cabbb9f-e65a-44b9-9538-6b82fad42064" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_4cabbb9f-e65a-44b9-9538-6b82fad42064" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_9e8877f2-467a-46df-bdbf-101c91e2c7bb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_9e8877f2-467a-46df-bdbf-101c91e2c7bb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_3e7bffed-a789-461d-bc6d-c9ae5826a224" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_Goodwill_3e7bffed-a789-461d-bc6d-c9ae5826a224" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_1ecab623-4b96-4461-8a9f-e289a0c8c63b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_1ecab623-4b96-4461-8a9f-e289a0c8c63b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_b3ab23c8-8518-4753-af32-bc32a6f055a3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_cbf948c6-d1ed-4c73-b10d-2dcb933087e4" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_b3ab23c8-8518-4753-af32-bc32a6f055a3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="rock-20250331.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_NetCashProvidedByUsedInFinancingActivities_60da2d2a-f944-4eea-b7f4-9686a3196ccf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_e4e86332-058b-455a-91af-ecf5a6eb24ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_60da2d2a-f944-4eea-b7f4-9686a3196ccf" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_e4e86332-058b-455a-91af-ecf5a6eb24ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fc1cd9f-6ae5-4e5b-a657-35ff5b736a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_d13ad2be-47cc-4b78-ae1e-18666c8348e9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7fc1cd9f-6ae5-4e5b-a657-35ff5b736a0d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_d13ad2be-47cc-4b78-ae1e-18666c8348e9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6843aca7-7b3d-4372-a301-0108f978962b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7fc1cd9f-6ae5-4e5b-a657-35ff5b736a0d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_6843aca7-7b3d-4372-a301-0108f978962b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f8c16c7-b330-465f-b831-956a6d19e395" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7fc1cd9f-6ae5-4e5b-a657-35ff5b736a0d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_7f8c16c7-b330-465f-b831-956a6d19e395" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b232f94d-3b2f-401d-80e6-822a1233c1ab" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_7fc1cd9f-6ae5-4e5b-a657-35ff5b736a0d" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b232f94d-3b2f-401d-80e6-822a1233c1ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_b814118e-b8a2-46ed-aca2-e37b67224615" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_b814118e-b8a2-46ed-aca2-e37b67224615" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_8a8e7bbc-8fd8-4982-acbf-0253f738e605" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_8a8e7bbc-8fd8-4982-acbf-0253f738e605" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_fa1422a1-e038-402f-95af-37f658e12251" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_fa1422a1-e038-402f-95af-37f658e12251" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_69c55ddb-97f3-43fa-83ed-b5b710499286" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_69c55ddb-97f3-43fa-83ed-b5b710499286" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_bf7e7182-9187-4b9b-9f00-b610f990a617" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_bf7e7182-9187-4b9b-9f00-b610f990a617" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_fd65af1b-d75c-4a17-8f8c-5ce29310efe2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_NetIncomeLoss_fd65af1b-d75c-4a17-8f8c-5ce29310efe2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_871a8e30-8524-4b12-a600-94da89084142" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_ShareBasedCompensation_871a8e30-8524-4b12-a600-94da89084142" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_369cabf2-8c7e-404f-b442-870fabf04234" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_369cabf2-8c7e-404f-b442-870fabf04234" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_25cc04da-5e6f-494f-98f2-e4c888874e53" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_75501430-5201-4ca1-a98b-43582d1661b3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_25cc04da-5e6f-494f-98f2-e4c888874e53" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_b36d0ad9-2bae-4cf5-b7d9-5cf6b9ba2f49" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1f9dcbf0-4563-411f-83e4-6b6bc55238ea" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_b36d0ad9-2bae-4cf5-b7d9-5cf6b9ba2f49" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1f9dcbf0-4563-411f-83e4-6b6bc55238ea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_09be457d-2bf3-48f3-9114-be4e2d9fb377" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_b36d0ad9-2bae-4cf5-b7d9-5cf6b9ba2f49" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_09be457d-2bf3-48f3-9114-be4e2d9fb377" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_5b94b6b8-5455-40c0-bf53-5e8230a6ab91" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_b36d0ad9-2bae-4cf5-b7d9-5cf6b9ba2f49" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_5b94b6b8-5455-40c0-bf53-5e8230a6ab91" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetDetails" xlink:type="simple" xlink:href="rock-20250331.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_3decc5b7-f256-4935-9b3c-b3c9a5f6d848" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_613456eb-9052-475e-96ab-7f29129e9586" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_3decc5b7-f256-4935-9b3c-b3c9a5f6d848" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_613456eb-9052-475e-96ab-7f29129e9586" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_4ae3baa8-3bfc-43cd-9769-7c495594f135" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_3decc5b7-f256-4935-9b3c-b3c9a5f6d848" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_4ae3baa8-3bfc-43cd-9769-7c495594f135" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_4578f634-2ebe-457b-86ae-ad8535d13a22" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_3decc5b7-f256-4935-9b3c-b3c9a5f6d848" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_4578f634-2ebe-457b-86ae-ad8535d13a22" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_3f0c3012-ea34-433b-bd41-023b33636a11" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_Goodwill_3f0c3012-ea34-433b-bd41-023b33636a11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e6ab5356-af71-47e4-8c41-b2acdd438156" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e6ab5356-af71-47e4-8c41-b2acdd438156" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_1ed733a8-9437-4a1f-90fc-ac2df5f53be4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_1ed733a8-9437-4a1f-90fc-ac2df5f53be4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_90a8a0f4-56b5-4165-9eda-31b95cfa1862" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_90a8a0f4-56b5-4165-9eda-31b95cfa1862" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_7583e9cb-afe5-4fe7-963f-6a72deb44e39" xlink:href="rock-20250331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_7583e9cb-afe5-4fe7-963f-6a72deb44e39" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_b10c0468-8f26-493c-ae88-ded1a2f99b9a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_b10c0468-8f26-493c-ae88-ded1a2f99b9a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_aa217bc1-49e2-421c-bbef-49f23cdae0f0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_9ea69dfe-23d0-4e80-8701-e807a1b2fd46" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_aa217bc1-49e2-421c-bbef-49f23cdae0f0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="simple" xlink:href="rock-20250331.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_4372b0bd-66b1-48cd-b633-0d277d038eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_ebc29ed5-30b0-4ca2-88d0-a37e354d92a3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_4372b0bd-66b1-48cd-b633-0d277d038eb2" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_ebc29ed5-30b0-4ca2-88d0-a37e354d92a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_6ffe67af-0f06-4f96-a0bf-f64e4b6e71ef" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_4372b0bd-66b1-48cd-b633-0d277d038eb2" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_6ffe67af-0f06-4f96-a0bf-f64e4b6e71ef" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>rock-20250331_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 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc-->
<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-20250331.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_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:to="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_4c16886f-36c0-46ab-93fa-e307e367a66e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:to="loc_us-gaap_EquityComponentDomain_4c16886f-36c0-46ab-93fa-e307e367a66e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:to="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_24588d78-8e7f-49dc-8de4-c8653721e770" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_CommonStockMember_24588d78-8e7f-49dc-8de4-c8653721e770" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_ff1d72bd-469c-4ff8-824e-802b33b52ab2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_ff1d72bd-469c-4ff8-824e-802b33b52ab2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0ea22b3c-785e-4d0b-821b-8d5c1be53a99" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_RetainedEarningsMember_0ea22b3c-785e-4d0b-821b-8d5c1be53a99" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_99334748-d791-4753-8d72-f05f615740b7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_99334748-d791-4753-8d72-f05f615740b7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_f33e3942-4a99-43bd-846e-7881fb886482" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_TreasuryStockCommonMember_f33e3942-4a99-43bd-846e-7881fb886482" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_e60441e8-0e02-4286-b91a-2ce21b32a8c8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_e60441e8-0e02-4286-b91a-2ce21b32a8c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_94400a3c-d917-4016-85b3-b3a11acf6112" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockholdersEquity_94400a3c-d917-4016-85b3-b3a11acf6112" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_66857f55-b023-448a-8d77-8a97cca7c09b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_TreasuryStockCommonShares_66857f55-b023-448a-8d77-8a97cca7c09b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_8d5f877c-d52d-4f24-b9e9-fca4254398f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_NetIncomeLoss_8d5f877c-d52d-4f24-b9e9-fca4254398f9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fcb8e16e-cb06-472a-8cd9-7baf45bb0e47" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fcb8e16e-cb06-472a-8cd9-7baf45bb0e47" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b0f3caf2-f57a-4a52-88b0-13b271f6672d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b0f3caf2-f57a-4a52-88b0-13b271f6672d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_7ba33193-e540-4b61-b757-ea00a2a5ecc5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_7ba33193-e540-4b61-b757-ea00a2a5ecc5" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_5abbf294-b2ac-450f-8a87-a9bbb8ba0228" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_5abbf294-b2ac-450f-8a87-a9bbb8ba0228" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_9a124d95-cebd-429b-a956-e98fb2baecca" xlink:href="rock-20250331.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_9a124d95-cebd-429b-a956-e98fb2baecca" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_d4f6047d-1ea1-4752-855b-9ec6872ab9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_d4f6047d-1ea1-4752-855b-9ec6872ab9d3" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_73a2caa8-6c58-4b14-9963-4c2985477405" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_73a2caa8-6c58-4b14-9963-4c2985477405" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_f4c53e4b-3522-4cd2-b0d2-5b1351da21c7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_59af734e-fad1-49c1-b159-b72b758c1fe0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_16a3fba1-0d28-4322-bd59-056f7b837a1d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="rock-20250331.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_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_512b1fdf-1e52-4556-8d17-61a9ade68952" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_512b1fdf-1e52-4556-8d17-61a9ade68952" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_54199ba5-6017-4d23-8ef5-6b02173aff8f_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:to="loc_srt_RangeMember_54199ba5-6017-4d23-8ef5-6b02173aff8f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:to="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:to="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails_1" xlink:type="simple" xlink:href="rock-20250331.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_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_54199ba5-6017-4d23-8ef5-6b02173aff8f_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:to="loc_srt_RangeMember_54199ba5-6017-4d23-8ef5-6b02173aff8f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:to="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:to="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b253d1cf-d8de-4832-a615-09b9bb267a06_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b253d1cf-d8de-4832-a615-09b9bb267a06_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_e30983f3-da4d-4e20-a232-8809418946a2" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_LaneSupplyMember_e30983f3-da4d-4e20-a232-8809418946a2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoPrivatelyHeldBusinessesMember_dcb0a4ce-365e-4efc-84ce-3590f6a18e9c" xlink:href="rock-20250331.xsd#rock_TwoPrivatelyHeldBusinessesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_TwoPrivatelyHeldBusinessesMember_dcb0a4ce-365e-4efc-84ce-3590f6a18e9c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_0fa23aef-7999-478c-9b06-ae19d5bb154a" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_0fa23aef-7999-478c-9b06-ae19d5bb154a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2025AcquisitionsMember_312a5799-fc5c-451a-9f28-05245365b8ed" xlink:href="rock-20250331.xsd#rock_A2025AcquisitionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_A2025AcquisitionsMember_312a5799-fc5c-451a-9f28-05245365b8ed" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_dcf51229-5483-491c-8a6b-18a561623efe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_dcf51229-5483-491c-8a6b-18a561623efe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_e4b19069-6e27-40f2-9a57-79d2281521c9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_Goodwill_e4b19069-6e27-40f2-9a57-79d2281521c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_34065755-6b49-47b9-a2ed-1800380af7a7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_34065755-6b49-47b9-a2ed-1800380af7a7" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_bac2223e-fede-43d3-beb5-6479ff30197e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_bac2223e-fede-43d3-beb5-6479ff30197e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_7bf7ce77-e24c-4d08-96ad-bf1e2ef59acc" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:to="loc_rock_LaneSupplyMember_7bf7ce77-e24c-4d08-96ad-bf1e2ef59acc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_cd58d442-990f-468d-89b4-eb866c672a24" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_cd58d442-990f-468d-89b4-eb866c672a24" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_4ad62796-c676-4aad-9de5-005e5bb8a923" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_4ad62796-c676-4aad-9de5-005e5bb8a923" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_aee6de3a-ba1f-4b98-9404-72951f079f25" xlink:href="rock-20250331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_aee6de3a-ba1f-4b98-9404-72951f079f25" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_af0fb87c-a241-40a5-a657-4ad246dcac09" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_af0fb87c-a241-40a5-a657-4ad246dcac09" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_9a2103c8-c1a4-4e8f-9aa2-749591d89837" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_9a2103c8-c1a4-4e8f-9aa2-749591d89837" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_4a53ddae-6c04-4fd8-8442-ecbb086c2c33" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_4a53ddae-6c04-4fd8-8442-ecbb086c2c33" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_4900aa71-4fa6-418d-85b4-f96049eeb2b9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_4900aa71-4fa6-418d-85b4-f96049eeb2b9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_0f79118a-f01b-4e98-b146-a49a1e3d2df1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_Goodwill_0f79118a-f01b-4e98-b146-a49a1e3d2df1" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_94cf31ed-30a8-4c23-98ad-8fd3fbe0c55c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_94cf31ed-30a8-4c23-98ad-8fd3fbe0c55c" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20250331.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_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1c2367e8-80b8-4a83-b322-75673957f205_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1c2367e8-80b8-4a83-b322-75673957f205_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_ebcbfad4-476f-4c76-a01c-f7b1685231c8" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:to="loc_rock_LaneSupplyMember_ebcbfad4-476f-4c76-a01c-f7b1685231c8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_05e81f46-c227-464a-a6f4-789dbd7e8cd3" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_05e81f46-c227-464a-a6f4-789dbd7e8cd3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d5180b71-9f20-4e13-935b-9d91b2e472e5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d5180b71-9f20-4e13-935b-9d91b2e472e5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_6c174f62-c688-44db-94d4-41dd652d6fe7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_us-gaap_TrademarksMember_6c174f62-c688-44db-94d4-41dd652d6fe7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_f926d732-bcc1-4d55-be0a-da6f0103d9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_us-gaap_CustomerRelationshipsMember_f926d732-bcc1-4d55-be0a-da6f0103d9bf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BacklogMember_11e68fff-10b8-4be2-a053-8a8d3032c9a0" xlink:href="rock-20250331.xsd#rock_BacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_rock_BacklogMember_11e68fff-10b8-4be2-a053-8a8d3032c9a0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_a2f91eba-9822-413b-b732-4b35a414e9e3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_a2f91eba-9822-413b-b732-4b35a414e9e3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_0c00e5f3-5fb0-46c2-9aac-adbc4f4db7eb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_0c00e5f3-5fb0-46c2-9aac-adbc4f4db7eb" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_85456863-322f-4595-9ce9-6d71fba37811_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_85456863-322f-4595-9ce9-6d71fba37811_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_0c331663-f0f8-4f28-8ab2-cc8ddc708692" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:to="loc_rock_LaneSupplyMember_0c331663-f0f8-4f28-8ab2-cc8ddc708692" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cee3bbc9-f1be-4244-91cf-8a0686adfd9d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cee3bbc9-f1be-4244-91cf-8a0686adfd9d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_9a6d0b15-97c3-4496-ab5a-c8035831a6e4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_9a6d0b15-97c3-4496-ab5a-c8035831a6e4" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="simple" xlink:href="rock-20250331.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_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_16e6e922-822c-471a-aa29-3e7df4eb1f3b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:to="loc_us-gaap_SegmentDomain_16e6e922-822c-471a-aa29-3e7df4eb1f3b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:to="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_d02d4884-e29e-48a6-a125-8da5d6bdaa84" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_ResidentialProductsMember_d02d4884-e29e-48a6-a125-8da5d6bdaa84" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_b4ebd172-0deb-4ab1-8b5f-ef7710d0fd36" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_AgtechMember_b4ebd172-0deb-4ab1-8b5f-ef7710d0fd36" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_5096e21f-9578-4439-be18-2258c010daca" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_RenewablesMember_5096e21f-9578-4439-be18-2258c010daca" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_1bf38015-9389-4bbd-a289-9520b750f204" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_InfrastructureMember_1bf38015-9389-4bbd-a289-9520b750f204" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:to="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a1541508-7fe2-4f43-bbd1-37d10f2d703c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_Goodwill_a1541508-7fe2-4f43-bbd1-37d10f2d703c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_adcdfe1b-2176-45a8-8523-a3513136b4d3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_adcdfe1b-2176-45a8-8523-a3513136b4d3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fb9e4c71-17ff-43f8-974e-1ec51528e763" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fb9e4c71-17ff-43f8-974e-1ec51528e763" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_18dd77bf-3d9d-4f58-8079-3d158cb5bc5e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20250331.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_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_51cebb01-486c-422c-8f5f-a7497739fdc3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_51cebb01-486c-422c-8f5f-a7497739fdc3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_64c063f2-01b0-4492-b1d8-75f24972f5b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:to="loc_us-gaap_TrademarksMember_64c063f2-01b0-4492-b1d8-75f24972f5b3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d29715d7-2a34-43ba-b962-7dd24a85a309_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d29715d7-2a34-43ba-b962-7dd24a85a309_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BacklogMember_0d2c79c7-6fe4-47fc-9632-8546ef18b8fb" xlink:href="rock-20250331.xsd#rock_BacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_rock_BacklogMember_0d2c79c7-6fe4-47fc-9632-8546ef18b8fb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_b7c08d26-6a25-4fdd-a2c5-ef4c209738f5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_TrademarksMember_b7c08d26-6a25-4fdd-a2c5-ef4c209738f5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_a612d7b3-38b0-4b5d-b92d-7ceff65ea01e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnpatentedTechnologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_a612d7b3-38b0-4b5d-b92d-7ceff65ea01e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_96ab1ef7-6f86-4409-bb91-a60ddc5c3f86" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_CustomerRelationshipsMember_96ab1ef7-6f86-4409-bb91-a60ddc5c3f86" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_8fad8c43-b3d9-4877-a9f8-8ea26915948d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_8fad8c43-b3d9-4877-a9f8-8ea26915948d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2ea54268-789f-467f-b20e-291f651904b7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2ea54268-789f-467f-b20e-291f651904b7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a60809c2-a5b4-4515-a141-093d177781b0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a60809c2-a5b4-4515-a141-093d177781b0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_6df3f199-d309-4585-b635-952d3450f92a" xlink:href="rock-20250331.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_6df3f199-d309-4585-b635-952d3450f92a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_73192d86-13ee-4944-88ff-3ead99dfcdb6" xlink:href="rock-20250331.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_73192d86-13ee-4944-88ff-3ead99dfcdb6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f1d98a50-1e5b-467b-9bb2-89a9fa1aef20" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f1d98a50-1e5b-467b-9bb2-89a9fa1aef20" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_91976e22-6eec-4db4-a484-18c4868677f8" xlink:href="rock-20250331.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_91976e22-6eec-4db4-a484-18c4868677f8" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails" xlink:type="simple" xlink:href="rock-20250331.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_27a422ab-6dc2-441d-867b-b324fb741132" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_b420b194-a682-4069-9229-d8ee7d17ffc6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_b420b194-a682-4069-9229-d8ee7d17ffc6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_d04514d1-e53e-461e-8c7c-97171a09864b" xlink:href="rock-20250331.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_d04514d1-e53e-461e-8c7c-97171a09864b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_7c967c97-ebae-4daa-96f4-4d248991a266" xlink:href="rock-20250331.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_7c967c97-ebae-4daa-96f4-4d248991a266" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_2528f8a1-8596-4c27-a88c-26c374741b61_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_2528f8a1-8596-4c27-a88c-26c374741b61_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_6cfbfd47-2806-4a09-800f-f04dfc24c69b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:to="loc_us-gaap_LineOfCreditMember_6cfbfd47-2806-4a09-800f-f04dfc24c69b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_608246e2-a197-4bca-bd1a-34d143f5fc7b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MediumTermNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:to="loc_us-gaap_MediumTermNotesMember_608246e2-a197-4bca-bd1a-34d143f5fc7b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:href="rock-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_89a3ee09-1ce9-48c2-b224-aae85acb377c_default" xlink:href="rock-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_89a3ee09-1ce9-48c2-b224-aae85acb377c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:href="rock-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_3191a946-64e3-401a-bee1-05d2c1a4512b" xlink:href="rock-20250331.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:to="loc_rock_ApplicableRatePeriod2Member_3191a946-64e3-401a-bee1-05d2c1a4512b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_6517aadc-77be-4e56-a253-903e8044b066_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:to="loc_us-gaap_VariableRateDomain_6517aadc-77be-4e56-a253-903e8044b066_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:to="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_49ece585-6afb-40c0-aa5f-bdc856fea0f7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BaseRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_us-gaap_BaseRateMember_49ece585-6afb-40c0-aa5f-bdc856fea0f7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ForeignCurrencyRateFloorMember_86d37186-1115-424d-8bdb-74d785286be6" xlink:href="rock-20250331.xsd#rock_ForeignCurrencyRateFloorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_rock_ForeignCurrencyRateFloorMember_86d37186-1115-424d-8bdb-74d785286be6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_5d5fa0da-32dd-42f0-b2fc-f20ccc54004f" xlink:href="rock-20250331.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_5d5fa0da-32dd-42f0-b2fc-f20ccc54004f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:to="loc_srt_RangeMember_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:to="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9c2f86dc-3b2c-49ac-a015-f2ba251e6475" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:to="loc_srt_MinimumMember_9c2f86dc-3b2c-49ac-a015-f2ba251e6475" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b6f432c6-f2c0-4af9-aa11-55d0da426e5e" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:to="loc_srt_MaximumMember_b6f432c6-f2c0-4af9-aa11-55d0da426e5e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_871b8f23-488d-4ac4-bdb9-db335144c21b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LongTermDebt_871b8f23-488d-4ac4-bdb9-db335144c21b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_c5c0f37b-f22c-4999-afbf-4a27c0b22d40" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_c5c0f37b-f22c-4999-afbf-4a27c0b22d40" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_2a482ffb-89f3-43e1-8574-b6aacdad54ac" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_2a482ffb-89f3-43e1-8574-b6aacdad54ac" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_bbdd497c-b518-43af-8267-029e0174bc1a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_bbdd497c-b518-43af-8267-029e0174bc1a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_2b1884af-6a82-42e9-8f6e-794063f06d78" xlink:href="rock-20250331.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_2b1884af-6a82-42e9-8f6e-794063f06d78" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_ec67d00e-ca15-4727-a42f-081441ec1844" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_ec67d00e-ca15-4727-a42f-081441ec1844" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_177cc6b6-532c-4cc8-8949-a60754a904ee" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_177cc6b6-532c-4cc8-8949-a60754a904ee" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_8e5e6d5f-20a8-48e4-9cf4-0e632ea777ec" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_8e5e6d5f-20a8-48e4-9cf4-0e632ea777ec" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#LongTermDebtScheduleofLongtermDebtDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:to="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_4d3a64fe-5564-4d34-ae39-f7b818c1a79e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:to="loc_us-gaap_CreditFacilityDomain_4d3a64fe-5564-4d34-ae39-f7b818c1a79e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:to="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_4b83ead7-98e0-41eb-85fe-c17c0cf87d8b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_4b83ead7-98e0-41eb-85fe-c17c0cf87d8b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_b1c9c7e7-4d4f-4313-815b-5d999ae12765" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandbyLettersOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_b1c9c7e7-4d4f-4313-815b-5d999ae12765" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_a231c209-9f9a-4bf4-b31c-30d39678652e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_a231c209-9f9a-4bf4-b31c-30d39678652e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_79e88334-c18b-4997-a340-809682b7e4d9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_79e88334-c18b-4997-a340-809682b7e4d9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_11efe670-0d57-4b5c-ab2d-7376a30fde9b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_11efe670-0d57-4b5c-ab2d-7376a30fde9b" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails" xlink:type="simple" xlink:href="rock-20250331.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_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:to="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_f3490daa-198d-4d40-bccc-8cbd924767be_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:to="loc_us-gaap_PlanNameDomain_f3490daa-198d-4d40-bccc-8cbd924767be_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:to="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_0910c94b-492b-467d-b626-53b2a2557e13" xlink:href="rock-20250331.xsd#rock_Amended2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:to="loc_rock_Amended2018PlanMember_0910c94b-492b-467d-b626-53b2a2557e13" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_c05b265a-8538-49c9-a0bf-b4c36a13d80f" xlink:href="rock-20250331.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_c05b265a-8538-49c9-a0bf-b4c36a13d80f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:to="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_fdef0377-6579-4dd0-84ab-c5e5efe17243_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_fdef0377-6579-4dd0-84ab-c5e5efe17243_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_0673568e-02c7-46c2-86a3-150b1d58a798" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:to="loc_us-gaap_CommonStockMember_0673568e-02c7-46c2-86a3-150b1d58a798" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_49c52a03-e2b7-4740-a56b-da391578edb4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_49c52a03-e2b7-4740-a56b-da391578edb4" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20250331.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_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:to="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_d6d2f600-f3a6-46ce-8f0a-24c5f790f171_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:to="loc_us-gaap_PlanNameDomain_d6d2f600-f3a6-46ce-8f0a-24c5f790f171_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_63ba2e30-7f9d-4c0a-95be-a52be093b322" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:to="loc_us-gaap_PlanNameDomain_63ba2e30-7f9d-4c0a-95be-a52be093b322" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:to="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_a834b89c-652a-46c2-b04c-8e42b8abe97f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:to="loc_us-gaap_PerformanceSharesMember_a834b89c-652a-46c2-b04c-8e42b8abe97f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_6d6a82b8-2c0e-40a2-912e-10e1f26b989c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_6d6a82b8-2c0e-40a2-912e-10e1f26b989c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d8c5d62f-397e-4836-9764-bf9a0af2d486" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d8c5d62f-397e-4836-9764-bf9a0af2d486" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1550e89e-f743-434e-b4a8-a0b4435ab8fe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1550e89e-f743-434e-b4a8-a0b4435ab8fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_5064faa2-a9e7-4fa4-9db0-3590fc78dd26" xlink:href="rock-20250331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_5064faa2-a9e7-4fa4-9db0-3590fc78dd26" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_262323d9-16b6-4679-81b1-6853985a7acf" xlink:href="rock-20250331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_262323d9-16b6-4679-81b1-6853985a7acf" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails" xlink:type="simple" xlink:href="rock-20250331.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_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_71ec238e-3ee0-49db-89ec-c9ddc20a2836_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:to="loc_us-gaap_PlanNameDomain_71ec238e-3ee0-49db-89ec-c9ddc20a2836_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:to="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_e5078361-d79e-4aa2-91e6-24e2013ec61f" xlink:href="rock-20250331.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:to="loc_rock_ManagementStockPurchasePlanMember_e5078361-d79e-4aa2-91e6-24e2013ec61f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_71f3e60c-971b-4c1d-8fac-be2426158261_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_71f3e60c-971b-4c1d-8fac-be2426158261_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_96199e0f-4567-4b38-9abb-674b26025500" xlink:href="rock-20250331.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:to="loc_rock_NonCurrentLiabilitiesMember_96199e0f-4567-4b38-9abb-674b26025500" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_6ae76bcb-d0c9-4bcf-b9a8-c7b80cf4021d" xlink:href="rock-20250331.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:to="loc_rock_AccruedExpensesCurrentMember_6ae76bcb-d0c9-4bcf-b9a8-c7b80cf4021d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e5cf5c9a-6ed3-4811-a179-b28b16adb569_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e5cf5c9a-6ed3-4811-a179-b28b16adb569_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_9cc4074b-09c6-45ab-b8b0-9320429e229b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_9cc4074b-09c6-45ab-b8b0-9320429e229b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_2023e427-834a-47f4-b460-c07614dc75fa" xlink:href="rock-20250331.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_rock_AccruedEquityBasedCompensation_2023e427-834a-47f4-b460-c07614dc75fa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_64775df9-d02d-44e7-9d23-44b77ac65042" xlink:href="rock-20250331.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_64775df9-d02d-44e7-9d23-44b77ac65042" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_04582f7e-4d9a-4825-a338-a174dbaca5a8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_04582f7e-4d9a-4825-a338-a174dbaca5a8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_c0702b6d-d79c-4ba7-ae9f-870d61ba8a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_c0702b6d-d79c-4ba7-ae9f-870d61ba8a9a" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails" xlink:type="simple" xlink:href="rock-20250331.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_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:to="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_a7119886-10c7-4f3e-bc28-1c0ef179aa35_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:to="loc_srt_ConsolidationItemsDomain_a7119886-10c7-4f3e-bc28-1c0ef179aa35_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:to="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_bf46dfd6-7ce1-42a9-a8a6-420cce8e55ff" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:to="loc_us-gaap_OperatingSegmentsMember_bf46dfd6-7ce1-42a9-a8a6-420cce8e55ff" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_3899d1e3-3cd2-4800-bb0b-396d9c8672e8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:to="loc_us-gaap_CorporateNonSegmentMember_3899d1e3-3cd2-4800-bb0b-396d9c8672e8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_69c60f6a-ccd8-4853-aa1e-854c9c56396f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:to="loc_us-gaap_SegmentDomain_69c60f6a-ccd8-4853-aa1e-854c9c56396f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:to="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_42fa55f2-5b79-4d6d-8ea5-9865437cb72b" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_ResidentialProductsMember_42fa55f2-5b79-4d6d-8ea5-9865437cb72b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_e76c0c1c-896a-4889-9fe3-b4f0987b57cf" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_AgtechMember_e76c0c1c-896a-4889-9fe3-b4f0987b57cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_57ab3989-8d34-4478-b194-452696a29709" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_RenewablesMember_57ab3989-8d34-4478-b194-452696a29709" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_97991736-53c7-4142-8f10-fc743c0b6e50" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_InfrastructureMember_97991736-53c7-4142-8f10-fc743c0b6e50" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_769ef19b-8329-4671-8a9a-dc96e99d1a75" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessExitCosts1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_BusinessExitCosts1_769ef19b-8329-4671-8a9a-dc96e99d1a75" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_20426850-c7b6-45cb-9ddb-03a66ba38f27" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_20426850-c7b6-45cb-9ddb-03a66ba38f27" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_082d0e22-823f-4c93-a6e2-ebf3d06674bb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_RestructuringCharges_082d0e22-823f-4c93-a6e2-ebf3d06674bb" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails" xlink:type="simple" xlink:href="rock-20250331.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_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_97005862-27c3-4f4b-8f91-cf8c7d0da335_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_97005862-27c3-4f4b-8f91-cf8c7d0da335_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_a62c632f-6c24-484a-89aa-a016982ba679" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:to="loc_us-gaap_CostOfSalesMember_a62c632f-6c24-484a-89aa-a016982ba679" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_61bc0eb1-b45b-4a30-a362-793d79380201" xlink:href="rock-20250331.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_61bc0eb1-b45b-4a30-a362-793d79380201" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_54557295-035f-4857-86b8-2a5b3403bd54" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:to="loc_us-gaap_RestructuringCharges_54557295-035f-4857-86b8-2a5b3403bd54" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareDetails" xlink:type="simple" xlink:href="rock-20250331.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_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_2d966724-227c-4d0d-8046-58bc961b22f0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:to="loc_us-gaap_CommonStockMember_2d966724-227c-4d0d-8046-58bc961b22f0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_aa219bb8-5473-4b2a-a5a7-c8fd793729bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_aa219bb8-5473-4b2a-a5a7-c8fd793729bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_41eb8279-7253-4786-b9b6-c69cddb01f10" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_41eb8279-7253-4786-b9b6-c69cddb01f10" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_99b82fbc-be7a-4234-9e6f-dca53799f7b8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_99b82fbc-be7a-4234-9e6f-dca53799f7b8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_74187cba-6be5-40db-b6c6-62f27b9f7210" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_74187cba-6be5-40db-b6c6-62f27b9f7210" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDetails" xlink:type="simple" xlink:href="rock-20250331.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_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:to="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:to="loc_srt_ConsolidationItemsDomain_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:to="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_6c219710-200e-464a-9a45-3d14f43bb5f3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:to="loc_us-gaap_OperatingSegmentsMember_6c219710-200e-464a-9a45-3d14f43bb5f3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_fb62e1de-4411-42cf-a583-bbf9af1b746e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_fb62e1de-4411-42cf-a583-bbf9af1b746e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_72d12e59-38b0-4f28-ae5b-24f1c165ac52_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:to="loc_us-gaap_SegmentDomain_72d12e59-38b0-4f28-ae5b-24f1c165ac52_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:to="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_115d303a-e4b2-4276-87f1-109a69688549" xlink:href="rock-20250331.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_ResidentialMember_115d303a-e4b2-4276-87f1-109a69688549" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_e82062fc-78f5-4322-a489-772d5a226371" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_AgtechMember_e82062fc-78f5-4322-a489-772d5a226371" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_f325cdc3-73cd-4fec-a77a-d7b0add26879" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_RenewablesMember_f325cdc3-73cd-4fec-a77a-d7b0add26879" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_16cf2abc-9979-4a32-8ca2-06dfa28894cb" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_InfrastructureMember_16cf2abc-9979-4a32-8ca2-06dfa28894cb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_989aad70-86d9-400d-ab97-7d93f6e84eca" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_ResidentialProductsMember_989aad70-86d9-400d-ab97-7d93f6e84eca" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_e2b330aa-0b2a-4949-8f4b-3f4ffde040a7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_NumberOfReportableSegments_e2b330aa-0b2a-4949-8f4b-3f4ffde040a7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_f06f5ea7-bfae-4c1c-b7f2-5abd46c23b3a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_Revenues_f06f5ea7-bfae-4c1c-b7f2-5abd46c23b3a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_3f124183-a596-46e6-9b03-45f0bfd7c563" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OperatingExpenses_3f124183-a596-46e6-9b03-45f0bfd7c563" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_4bfcb826-97e4-4a05-af53-4e87f6604fdd" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OperatingIncomeLoss_4bfcb826-97e4-4a05-af53-4e87f6604fdd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_92af3e70-17b6-46e4-8ee8-dc8513cbf381" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_92af3e70-17b6-46e4-8ee8-dc8513cbf381" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome_a7808332-5fa6-4d04-8013-fd2ec1dc49c9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OtherIncome_a7808332-5fa6-4d04-8013-fd2ec1dc49c9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_61cb2415-aa3b-48f1-9aa6-12f4725a1b77" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_61cb2415-aa3b-48f1-9aa6-12f4725a1b77" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_c89fec5e-b38c-4515-85e7-f8bc048e8a62" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_c89fec5e-b38c-4515-85e7-f8bc048e8a62" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_b5ee37fc-60ab-4b8d-a81e-4b65e24daf2e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_Assets_b5ee37fc-60ab-4b8d-a81e-4b65e24daf2e" xlink:type="arc" order="8"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails" xlink:type="simple" xlink:href="rock-20250331.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_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_b8f0a54a-723f-47e2-a2dd-de392c61e7f1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_b8f0a54a-723f-47e2-a2dd-de392c61e7f1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_f454f58b-c47b-4667-ab12-a9aad4643780" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_f454f58b-c47b-4667-ab12-a9aad4643780" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_d2c122c5-2413-4444-b89a-9327cd8ec115" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:to="loc_us-gaap_TransferredOverTimeMember_d2c122c5-2413-4444-b89a-9327cd8ec115" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_893475f0-dc03-472f-8039-7b8c831b466e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:to="loc_us-gaap_SegmentDomain_893475f0-dc03-472f-8039-7b8c831b466e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:to="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_da87d684-77ef-43b4-8d07-acbe4ef601d4" xlink:href="rock-20250331.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_ResidentialMember_da87d684-77ef-43b4-8d07-acbe4ef601d4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_d5b4a77a-1256-47f5-adf2-e304795275f7" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_AgtechMember_d5b4a77a-1256-47f5-adf2-e304795275f7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_2cfcf2ed-5912-441f-85a6-a49716e84f53" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_RenewablesMember_2cfcf2ed-5912-441f-85a6-a49716e84f53" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_647a483c-24e6-4ecd-b017-7468f241da15" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_InfrastructureMember_647a483c-24e6-4ecd-b017-7468f241da15" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_3d1ee2f8-4d62-4361-a169-97ef62f49573" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:to="loc_us-gaap_Revenues_3d1ee2f8-4d62-4361-a169-97ef62f49573" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#SubsequentEventsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:to="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_366e81bc-2fb2-431f-9821-4129294f30f6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_366e81bc-2fb2-431f-9821-4129294f30f6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_059ff657-995e-4144-984a-aff40ff860c7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:to="loc_us-gaap_SubsequentEventMember_059ff657-995e-4144-984a-aff40ff860c7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:to="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramDomain_3243a231-0b85-47b9-901c-f5203e82b11a_default" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:to="loc_srt_ShareRepurchaseProgramDomain_3243a231-0b85-47b9-901c-f5203e82b11a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:to="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NewShareRepurchaseProgramMember_99aaeec7-e852-48a8-a96c-f7d1e1d9985f" xlink:href="rock-20250331.xsd#rock_NewShareRepurchaseProgramMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:to="loc_rock_NewShareRepurchaseProgramMember_99aaeec7-e852-48a8-a96c-f7d1e1d9985f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StockRepurchaseProgramAuthorizedAmount1_c422da46-b748-4292-b777-483696d9181e" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:to="loc_srt_StockRepurchaseProgramAuthorizedAmount1_c422da46-b748-4292-b777-483696d9181e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareRepurchaseProgramDuration_4a55a0d9-7b71-4279-847a-47afc8e35efd" xlink:href="rock-20250331.xsd#rock_ShareRepurchaseProgramDuration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:to="loc_rock_ShareRepurchaseProgramDuration_4a55a0d9-7b71-4279-847a-47afc8e35efd" xlink:type="arc" order="1"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>rock-20250331_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 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc-->
<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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b106641d-3fdc-4876-a9ec-2bb94400f312_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/2024/elts/us-gaap-2024.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_us-gaap_GoodwillAcquiredDuringPeriod_a492cc76-fe77-42a3-a1b9-7eee06a8478f_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquired goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_1a389154-0ad9-4e1d-9803-061e6fe24ee5_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/2024/elts/srt-2024.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_dei_CoverAbstract_38d56c7b-bd98-418f-b01f-458eac625ae3_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/2024/dei-2024.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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_0d94744f-b3c1-4ce5-a344-d5dbf5180aa0_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 (decrease) increase 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/2024/elts/us-gaap-2024.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_rock_ResidentialProductsMember_55135d1a-9e8f-40f1-8f34-4591212bf3ea_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-20250331.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_dei_TradingSymbol_81a05c00-33af-46a5-b9e5-3666a1b05674_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/2024/dei-2024.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_ecd_AllTradingArrangementsMember_terseLabel_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Trading Arrangements</link:label>
    <link:label id="lab_ecd_AllTradingArrangementsMember_label_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Trading Arrangements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllTradingArrangementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllTradingArrangementsMember" xlink:to="lab_ecd_AllTradingArrangementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Net Income [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonNeosMember_terseLabel_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-NEOs</link:label>
    <link:label id="lab_ecd_NonNeosMember_label_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-NEOs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonNeosMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonNeosMember" xlink:to="lab_ecd_NonNeosMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_a41e968c-c37f-47a1-b727-e7dc11a46ee4_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/2024/elts/us-gaap-2024.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_ecd_Rule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_Rule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:to="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Awards Close in Time to MNPI Disclosures</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_TwoMetalRoofingBusinessesMember_668b3b95-5d7a-477e-bdee-ed6e0711660f_terseLabel_en-US" xlink:label="lab_rock_TwoMetalRoofingBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Two Metal Roofing Businesses</link:label>
    <link:label id="lab_rock_TwoMetalRoofingBusinessesMember_label_en-US" xlink:label="lab_rock_TwoMetalRoofingBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Two Metal Roofing Businesses [Member]</link:label>
    <link:label id="lab_rock_TwoMetalRoofingBusinessesMember_documentation_en-US" xlink:label="lab_rock_TwoMetalRoofingBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Two Metal Roofing Businesses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TwoMetalRoofingBusinessesMember" xlink:to="lab_rock_TwoMetalRoofingBusinessesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f736c7e4-4a39-4a07-aae0-6a92cbbbd473_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_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/2024/elts/us-gaap-2024.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_UnpatentedTechnologyMember_c08e0f65-ff19-40d9-8abd-a0ba3e1cf2d1_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/2024/elts/us-gaap-2024.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_ecd_PayVsPerformanceDisclosureLineItems_label_en-US" xlink:label="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pay vs Performance Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_4fa9472c-dc6f-4f16-91d1-4258cab7e7e0_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/2024/elts/us-gaap-2024.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_us-gaap_IncreaseDecreaseInAccountsReceivable_f3529f56-d45c-4bb2-8ccb-ae5eb15d7b2c_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">Trade receivables and costs in excess of billings</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/2024/elts/us-gaap-2024.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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_91536bcc-c78b-4376-8bd1-d39a61154a3a_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/2024/elts/us-gaap-2024.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_us-gaap_LongTermDebtAbstract_a5e90371-e3b9-45e6-8b00-4e4d18dd068a_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/2024/elts/us-gaap-2024.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_ecd_NonRule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:to="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_IndefiniteLivedAccumulatedAmortization_e8e1a294-eb9b-4b7c-b01e-8a7f16f0af61_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-20250331.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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c4b171d4-e438-4985-ac14-253fd3c21d4a_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/2024/elts/us-gaap-2024.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_RestructuringAndRelatedActivitiesAbstract_ea32af72-e7c3-4374-b869-c88cf8e80533_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/2024/elts/us-gaap-2024.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_ecd_AwardTmgDiscLineItems_label_en-US" xlink:label="lab_ecd_AwardTmgDiscLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing Disclosures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="lab_ecd_AwardTmgDiscLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_label_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OtherPerfMeasureAmt" xlink:to="lab_ecd_OtherPerfMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_a086912a-bb23-4996-8e80-f77ef809b810_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">2028</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/2024/elts/us-gaap-2024.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_GoodwillLineItems_bb340fce-d3f0-4164-84b4-208435bcb540_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/2024/elts/us-gaap-2024.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_CommonStockSharesOutstanding_cea64f36-ecd6-4502-9782-fd2cf0ad41db_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_aaec110e-ecce-4a45-a412-d2332182bc01_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_3bbf2eca-be7f-4e7d-9579-e7959da91897_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/2024/elts/us-gaap-2024.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_InterestIncomeExpenseNet_d36196db-9b2f-4fc6-b397-8807d651d07c_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, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_56cbf72c-e3ca-4a10-8aa6-4c4cb8018b55_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest income, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Income (Expense), Operating</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_b110d984-d089-4a4e-9a8d-f79907460d3b_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/2024/elts/us-gaap-2024.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_RevenueFromContractWithCustomerAbstract_1ca7d86a-b29b-4495-ad17-950cafec9f1e_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/2024/elts/us-gaap-2024.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_ContractWithCustomerLiabilityCurrent_10a8fa91-aace-4b21-ba00-c30dc73d1a1d_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 costs</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2024/elts/us-gaap-2024.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_PlanNameDomain_8fd0c18b-0bd8-4c4e-a075-6631466ecabb_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/2024/elts/us-gaap-2024.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_us-gaap_OtherAssetsNoncurrent_762ff648-6b67-44d4-8013-3fa3d135b9a4_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/2024/elts/us-gaap-2024.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_dei_EntityTaxIdentificationNumber_84dcbcb7-40dc-4dc6-ad89-7fa16d9f3e96_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/2024/dei-2024.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_rock_NewShareRepurchaseProgramMember_ac29b451-ae9d-4cdf-abb8-75065c0154c7_terseLabel_en-US" xlink:label="lab_rock_NewShareRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Share Repurchase Program</link:label>
    <link:label id="lab_rock_NewShareRepurchaseProgramMember_label_en-US" xlink:label="lab_rock_NewShareRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Share Repurchase Program [Member]</link:label>
    <link:label id="lab_rock_NewShareRepurchaseProgramMember_documentation_en-US" xlink:label="lab_rock_NewShareRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">New Share Repurchase Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NewShareRepurchaseProgramMember" xlink:href="rock-20250331.xsd#rock_NewShareRepurchaseProgramMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_NewShareRepurchaseProgramMember" xlink:to="lab_rock_NewShareRepurchaseProgramMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_36c5c85c-9924-4032-9ed7-65f4d0b780df_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/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_99389bc4-0df9-45d8-8d64-3e814697edcd_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">Intangible Asset, Finite-Lived [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_AntidilutiveSecuritiesNameDomain_e5b59ce5-8df8-41ec-a72f-9a80cafcfc28_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/2024/elts/us-gaap-2024.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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_96186c21-cdc6-4d2f-8ee9-e663e741783a_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/2024/elts/us-gaap-2024.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_OperatingSegmentsMember_f718b529-51ea-4eee-aa4a-1b7494816054_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/2024/elts/us-gaap-2024.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_NetCashProvidedByUsedInOperatingActivities_1209980c-c3cb-4900-b358-ed7b207ddbbf_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/2024/elts/us-gaap-2024.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_TreasuryStockCommonMember_2531e391-9129-4853-8382-dbb1a6eaaa92_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/2024/elts/us-gaap-2024.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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_10d27cbe-1620-4225-9f3b-b0b3a76b87b4_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/2024/elts/us-gaap-2024.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_PlanNameAxis_3c7cac96-1db7-4779-b349-aa699f7bada0_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/2024/elts/us-gaap-2024.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_StatementEquityComponentsAxis_89504915-b768-4a80-b9a8-9e80c3913450_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/2024/elts/us-gaap-2024.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_us-gaap_OtherAssetsCurrent_3f8c8716-fdaf-4c27-9aab-6dd8b4491758_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/2024/elts/us-gaap-2024.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_ecd_AwardTmgMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Timing Method</link:label>
    <link:label id="lab_ecd_AwardTmgMethodTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMethodTextBlock" xlink:to="lab_ecd_AwardTmgMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TradingArrByIndTable_terseLabel_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trading Arrangements, by Individual</link:label>
    <link:label id="lab_ecd_TradingArrByIndTable_label_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="lab_ecd_TradingArrByIndTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_f1c66d3a-81ec-459b-8233-fba12ce132eb_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/2024/elts/us-gaap-2024.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_BusinessAcquisitionsProFormaNetIncomeLoss_47a00f94-54b8-4a27-81e7-90aea84c474d_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income from operations</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_5c71d63c-d577-4a88-a4a7-7ba2554c6b53_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/2024/dei-2024.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_ecd_InsiderTradingPoliciesProcLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_2fb1c897-4779-402f-add8-09cef38cfb2c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net proceeds from sale of business</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Divestiture of Businesses, Net of Cash Divested</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_8c501223-db6f-40ca-8ad3-813585b1bc7d_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/2024/elts/us-gaap-2024.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_ecd_AdjToCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
    <link:label id="lab_ecd_AdjToCompAmt_label_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment to Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAmt" xlink:to="lab_ecd_AdjToCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding Recovery Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryCompAmt" xlink:to="lab_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember_terseLabel_en-US" xlink:label="lab_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table</link:label>
    <link:label id="lab_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember_label_en-US" xlink:label="lab_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:to="lab_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_0d919403-99d1-45bb-ba84-b68a78443f8e_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/2024/dei-2024.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_ecd_CoSelectedMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureAmt_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureAmt" xlink:to="lab_ecd_CoSelectedMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_5bd4aa11-7af9-4efa-8ef8-bdd784f772f7_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/2024/elts/us-gaap-2024.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_ecd_TabularListTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tabular List, Table</link:label>
    <link:label id="lab_ecd_TabularListTableTextBlock_label_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tabular List [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TabularListTableTextBlock" xlink:to="lab_ecd_TabularListTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8bf57451-bd8b-4130-936e-b49e26529ba7_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/2024/elts/us-gaap-2024.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_us-gaap_FinitelivedIntangibleAssetsAcquired1_56075afc-ef2a-4e86-81e0-a9982036ed33_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/2024/elts/us-gaap-2024.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_StockRepurchasedDuringPeriodValue_e78710e4-2e59-45b0-b2a6-608a34fee7a3_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/2024/elts/us-gaap-2024.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_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember_terseLabel_en-US" xlink:label="lab_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table</link:label>
    <link:label id="lab_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember_label_en-US" xlink:label="lab_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:to="lab_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ResidentialMember_9cfbd952-8a31-4613-810c-3595d829a235_terseLabel_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Residential</link:label>
    <link:label id="lab_rock_ResidentialMember_label_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Residential [Member]</link:label>
    <link:label id="lab_rock_ResidentialMember_documentation_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Residential</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember" xlink:href="rock-20250331.xsd#rock_ResidentialMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ResidentialMember" xlink:to="lab_rock_ResidentialMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_e5667955-71f3-44e6-9540-eaa715f40b8a_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/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7d8165ea-6dd9-49e2-963b-d79aee21df59_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/2024/elts/us-gaap-2024.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_PaymentsForRestructuring_76ff1df1-b402-4106-8215-ae3795ca7038_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/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRestructuring" xlink:to="lab_us-gaap_PaymentsForRestructuring" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_68fa21d3-c5a3-4ebf-bed6-8de94033aa4d_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/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_32dfb1b5-a772-4c26-b59a-5ed7872b4c9c_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_d5f26851-a4f0-445f-a90d-005d490315a7_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/2024/elts/us-gaap-2024.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_AssetsCurrentAbstract_df5b8ca2-b223-4ee3-a959-d0e70feeb28e_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/2024/elts/us-gaap-2024.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_Goodwill_f018ea4a-feea-4105-80dd-1b3e50815efc_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_0ac579ac-a157-4829-8f15-1f4ec55fdb40_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, 2024</link:label>
    <link:label id="lab_us-gaap_Goodwill_41a884a2-8898-4e5b-ac2f-7082a13428ea_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, 2025</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/2024/elts/us-gaap-2024.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_srt_ConsolidationItemsAxis_b33b3e7a-2863-4df6-9996-c21a0bde6e0c_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/2024/elts/srt-2024.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_AllowanceForDoubtfulAccountsReceivable_3a15bdab-5910-4df5-b5d0-3166e39188df_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, 2025</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_bbb504f7-6416-462a-a2a6-f72c8d4c4215_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, 2025</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/2024/elts/us-gaap-2024.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_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_6f65a37d-7bba-4606-80f3-123c8794a3a2_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/2024/elts/us-gaap-2024.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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_789a317f-c034-43f7-bc5a-f1fbd4a6d033_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/2024/elts/us-gaap-2024.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_srt_StockRepurchaseProgramAuthorizedAmount1_3ccc8c8d-fd74-47f6-ae09-0a88327e9e70_terseLabel_en-US" xlink:label="lab_srt_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program, Authorized, Amount</link:label>
    <link:label id="lab_srt_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_srt_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program, Authorized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_srt_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_7df08e8c-a962-4684-87e7-f746c49488d7_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/2024/elts/us-gaap-2024.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_ShareBasedCompensationAbstract_d08e5af1-3618-4de8-8895-f6a06d569626_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/2024/elts/us-gaap-2024.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_TreasuryStockCommonShares_d51630de-b049-4429-bbf2-34039033ba06_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_13b9547e-961e-4a76-8f89-b4f297383149_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_b20d3cd0-9a5b-4c99-9389-aabbe8a16c20_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/2024/elts/us-gaap-2024.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_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Stock Option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_1d2805ca-54fa-4125-b2d0-3fb610c4d188_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-20250331.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_GoodwillRollForward_97359152-a781-42eb-b409-c5cc3715b685_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/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_47f81971-33cc-4707-a05b-76b4cc4bac00_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">Antidilutive Security, Excluded EPS Calculation [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_f2cd432c-3599-473b-97af-3ab596a0e01e_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/2024/elts/us-gaap-2024.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_StandardProductWarrantyAccrualPayments_590a09c5-3843-4944-bb28-1036597281fa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Settlements made during the period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_f18c87c3-ab70-42e0-9e31-a290dab5d9d8_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/2024/elts/us-gaap-2024.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_dei_SecurityExchangeName_fe17d609-97e6-4115-bffe-69fc5febff29_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/2024/dei-2024.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_DebtInstrumentBasisSpreadOnVariableRate1_eef6cfdd-3625-4f56-8a13-3ab6a003aba9_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/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_59449d18-2a4e-412d-a708-7dd1beec6488_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/2024/elts/us-gaap-2024.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_GoodwillForeignCurrencyTranslationGainLoss_15bbe734-0475-4662-a030-d288145e5170_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/2024/elts/us-gaap-2024.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_InventoryWorkInProcessNetOfReserves_225545cf-cf6b-4bb8-97d2-d1b4c90ee79d_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" 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_InventoryWorkInProcessNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_d0e1a667-ca7d-496d-a948-25fe2b84b23c_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/2024/elts/us-gaap-2024.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_rock_TwoPrivatelyHeldBusinessesMember_037c6c59-8e04-4bba-a439-ad3d4d8f0072_terseLabel_en-US" xlink:label="lab_rock_TwoPrivatelyHeldBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Two Privately Held Businesses</link:label>
    <link:label id="lab_rock_TwoPrivatelyHeldBusinessesMember_label_en-US" xlink:label="lab_rock_TwoPrivatelyHeldBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Two Privately Held Businesses [Member]</link:label>
    <link:label id="lab_rock_TwoPrivatelyHeldBusinessesMember_documentation_en-US" xlink:label="lab_rock_TwoPrivatelyHeldBusinessesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Two Privately Held Businesses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoPrivatelyHeldBusinessesMember" xlink:href="rock-20250331.xsd#rock_TwoPrivatelyHeldBusinessesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TwoPrivatelyHeldBusinessesMember" xlink:to="lab_rock_TwoPrivatelyHeldBusinessesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_9f888669-fe72-49b8-8ac6-bff227c197a3_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/2024/elts/us-gaap-2024.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_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d3ff321b-0b74-46ab-9522-c179f0c32fc4_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/2024/elts/us-gaap-2024.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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_1984b49f-7d82-47ef-832a-62542c89e337_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/2024/elts/us-gaap-2024.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_RevolvingCreditFacilityMember_15f7bc69-39c1-4cd6-98d2-d976c945dee0_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/2024/elts/us-gaap-2024.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_ecd_TrdArrExpirationDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrExpirationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expiration Date</link:label>
    <link:label id="lab_ecd_TrdArrExpirationDate_label_en-US" xlink:label="lab_ecd_TrdArrExpirationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement Expiration Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrExpirationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrExpirationDate" xlink:to="lab_ecd_TrdArrExpirationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_16d3e0ff-d1ed-4ec3-a772-bad63e370cce_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/2024/elts/us-gaap-2024.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_GoodwillAndIntangibleAssetsDisclosureAbstract_cb1e0827-636c-4af4-b05a-5711191bd472_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/2024/elts/us-gaap-2024.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_ecd_TotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnAmt" xlink:to="lab_ecd_TotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_54ac1fb0-ef1f-4351-ac22-f986813c0024_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/2024/elts/us-gaap-2024.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_ecd_EqtyAwrdsAdjFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments, Footnote</link:label>
    <link:label id="lab_ecd_EqtyAwrdsAdjFnTextBlock_label_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EqtyAwrdsAdjFnTextBlock" xlink:to="lab_ecd_EqtyAwrdsAdjFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d1d8740f-6137-41ce-89b3-dac01b7fe264_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">Less: standby letters of credit issued to third parties</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/2024/elts/us-gaap-2024.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_IncreaseDecreaseInOtherAccruedLiabilities_86318e41-f4e0-4fef-90b9-1c98a43529f5_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/2024/elts/us-gaap-2024.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_ecd_InsiderTrdPoliciesProcAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Insider Trading Policies and Procedures Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_c9b6db53-f124-4c39-a539-80254a6d22bf_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems" xlink:to="lab_us-gaap_SubsequentEventLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccruedEquityBasedCompensation_0211044c-994c-46a6-8527-b52d9448a61a_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-20250331.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_DebtInstrumentLineItems_cc41aba9-3138-4e0b-a2e8-877f851ec059_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/2024/elts/us-gaap-2024.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_ecd_NamedExecutiveOfficersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
    <link:label id="lab_ecd_NamedExecutiveOfficersFnTextBlock_label_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Named Executive Officers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_563c4b44-466f-4ffb-b3e6-1cc82427cf1d_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/2024/elts/us-gaap-2024.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_PaymentsToAcquireBusinessesNetOfCashAcquired_e3b6d0d3-623f-4fdf-8913-7751090d2116_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/2024/elts/us-gaap-2024.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_WeightedAverageNumberOfDilutedSharesOutstanding_485fb42e-5e0b-4db6-a291-efcdbed01b14_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_b591204d-ffa2-458d-83a9-e04199347004_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/2024/elts/us-gaap-2024.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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_5ff555fe-ec8b-469a-9995-0e12e1e70a29_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 income (loss):</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2024/elts/us-gaap-2024.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_ecd_MnpiDiscTimedForCompValFlag_terseLabel_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
    <link:label id="lab_ecd_MnpiDiscTimedForCompValFlag_label_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:to="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_17000bd3-ff0f-45e4-a92f-6202589ccd9b_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">2025</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/2024/elts/us-gaap-2024.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_LongtermDebtTypeAxis_2a21a6d3-79ed-459c-8d59-455d2c039e7f_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/2024/elts/us-gaap-2024.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_us-gaap_StockholdersEquity_be8570ef-b292-4f46-8b8d-8f7bf79bb5db_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_ca78d3f0-c5cf-419b-9f69-a04a25f15d2e_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_7cd03e79-2152-433c-9fc0-962bcb62bb46_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/2024/elts/us-gaap-2024.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_TreasuryStockValue_623a3bf2-78dc-48ae-be39-e125e0663b8c_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 4,911 and 3,960 common shares held in treasury in 2025 and 2024</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/2024/elts/us-gaap-2024.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_rock_A2019SeniorCreditAgreementMember_388e6951-f2e0-4542-93c8-cbbf4580aadd_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-20250331.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_BalanceSheetLocationAxis_52404ca7-eb50-463b-b4cc-f3c1e3c96d38_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">Statement of Financial Position Location, Balance [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ScheduleOfGoodwillTextBlock_62f2d3de-a569-4917-8355-810f3f0c2923_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/2024/elts/us-gaap-2024.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_BusinessAcquisitionProFormaInformationTextBlock_df0e4b21-9579-4969-8fc6-53fbe29a8b48_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Unaudited Pro Forma Financial Information</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_39afcefa-9e92-45a7-b5a2-0cafa1fdd6aa_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/2024/elts/us-gaap-2024.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_rock_NonEmployeeDirectorsPlanMember_fd625029-c95a-46ae-ab29-f55cb074fcea_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-20250331.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_AllowanceForDoubtfulAccountsReceivableWriteOffs_f42657e8-d337-4835-baf0-b41fd81d5b9b_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/2024/elts/us-gaap-2024.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_us-gaap_AccountsReceivableNetCurrent_33d26e96-4517-465d-abc7-f25782374aba_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">Trade receivables, net of allowance of $2,805 and $3,394, respectively</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/2024/elts/us-gaap-2024.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_CostOfSalesMember_70553197-e458-4187-b8e5-7e18e04f8550_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/2024/elts/us-gaap-2024.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_rock_BacklogMember_4766badb-66dd-4ee9-ac2f-7074f85379e7_terseLabel_en-US" xlink:label="lab_rock_BacklogMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Backlog</link:label>
    <link:label id="lab_rock_BacklogMember_label_en-US" xlink:label="lab_rock_BacklogMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Backlog [Member]</link:label>
    <link:label id="lab_rock_BacklogMember_documentation_en-US" xlink:label="lab_rock_BacklogMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Backlog</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BacklogMember" xlink:href="rock-20250331.xsd#rock_BacklogMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_BacklogMember" xlink:to="lab_rock_BacklogMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_fd9e6e32-ece8-455f-a2ae-304683f419cd_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/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_75e77811-a057-4b21-95a0-86e62fa0f1cf_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/2024/elts/us-gaap-2024.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_LongTermDebt_127af415-e680-4a2e-9198-517e554cd010_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/2024/elts/us-gaap-2024.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_ecd_PnsnAdjsPrrSvcCstMember_terseLabel_en-US" xlink:label="lab_ecd_PnsnAdjsPrrSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pension Adjustments Prior Service Cost</link:label>
    <link:label id="lab_ecd_PnsnAdjsPrrSvcCstMember_label_en-US" xlink:label="lab_ecd_PnsnAdjsPrrSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pension Adjustments Prior Service Cost [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnAdjsPrrSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnAdjsPrrSvcCstMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PnsnAdjsPrrSvcCstMember" xlink:to="lab_ecd_PnsnAdjsPrrSvcCstMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_f3d71920-1a68-459a-8d17-ca7cbcb201c1_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/2024/dei-2024.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_ecd_AllExecutiveCategoriesMember_terseLabel_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Executive Categories</link:label>
    <link:label id="lab_ecd_AllExecutiveCategoriesMember_label_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Executive Categories [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="lab_ecd_AllExecutiveCategoriesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_faa0ef47-f954-4772-97db-2c3cf63d9a5a_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/2024/elts/us-gaap-2024.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_BalanceSheetLocationDomain_ab72c19e-ca0b-4d20-8203-48a7658cd559_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">Statement of Financial Position Location, Balance [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_b6c8616b-4920-4df0-a986-1078ea8ba39f_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/2024/elts/us-gaap-2024.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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_d9957578-786b-4e2a-b287-549daf8e46f4_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">2027</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/2024/elts/us-gaap-2024.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_ecd_ChangedPeerGroupFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
    <link:label id="lab_ecd_ChangedPeerGroupFnTextBlock_label_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changed Peer Group, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:to="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_4b8d8957-fa51-4665-aeea-94b7b05e3d8d_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/2024/elts/us-gaap-2024.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_dei_DocumentType_da16eeb0-a35b-4fd3-ab21-7f89d229bcfc_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/2024/dei-2024.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_LineOfCreditFacilityCommitmentFeePercentage_48ef77f1-03ce-44dd-9824-0cfa4974bd54_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/2024/elts/us-gaap-2024.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_ecd_PnsnBnftsAdjFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PnsnBnftsAdjFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pension Benefits Adjustments, Footnote</link:label>
    <link:label id="lab_ecd_PnsnBnftsAdjFnTextBlock_label_en-US" xlink:label="lab_ecd_PnsnBnftsAdjFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pension Benefits Adjustments, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnBnftsAdjFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PnsnBnftsAdjFnTextBlock" xlink:to="lab_ecd_PnsnBnftsAdjFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_9bca1173-8338-44c6-bdf7-03b465d02c7f_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/2024/elts/us-gaap-2024.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_ecd_TotalShareholderRtnVsPeerGroupTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total Shareholder Return Vs Peer Group [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodDomain_62d5b865-cd06-47c0-8ed8-2bdee99ffa42_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-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:to="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_684ec5c1-eafc-4c56-af93-80c0c89ee605_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/2024/elts/us-gaap-2024.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_92f443d8-a7ee-442a-95b2-1bb6bb081159_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/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTable_34a851c2-3a3b-4afc-8811-06438e07e723_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable" xlink:to="lab_us-gaap_SubsequentEventTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_badd4073-79dd-474f-97e4-6b79525b2eee_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/2024/elts/us-gaap-2024.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_srt_MaximumMember_6e5e338f-40ab-42e1-a8f4-b06248d8a8df_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/2024/elts/srt-2024.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_AmortizationOfIntangibleAssets_337a5bf2-cf9a-4d5a-a568-cc742a9459f2_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/2024/elts/us-gaap-2024.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_us-gaap_ContractWithCustomerLiability_24a740b0-0112-43cf-8602-e52a5ec16929_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">Contract liabilities</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/2024/elts/us-gaap-2024.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_ecd_EquityValuationAssumptionDifferenceFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
    <link:label id="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock_label_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_ee87e263-f59d-4079-9771-abfcbce4b1f3_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/2024/elts/us-gaap-2024.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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b8d9add7-0355-47d8-9683-ecd2db5723fa_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/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_fe1dc8df-b6da-4500-8419-95eaf0d7c352_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/2024/elts/us-gaap-2024.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_BusinessCombinationDisclosureTextBlock_d8ae3fe0-debf-44ef-b854-05bdfb1cf422_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">ACQUISITIONS</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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/2024/elts/us-gaap-2024.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_dei_CurrentFiscalYearEndDate_8e047736-7633-4443-a8a7-372ff0b4246d_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/2024/dei-2024.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_srt_RangeAxis_c1b87103-d291-4d84-8b0e-95461157636d_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/2024/elts/srt-2024.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_ecd_PeoName_terseLabel_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PEO Name</link:label>
    <link:label id="lab_ecd_PeoName_label_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PEO Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoName" xlink:to="lab_ecd_PeoName" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:to="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8d2a1507-4afd-4877-a779-4dff1f381272_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_5088cc38-ab41-4c62-9fc7-14d4e06a70a9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2024/elts/us-gaap-2024.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_ecd_NonPeoNeoAvgTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgTotalCompAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e46a2c41-a8c9-41a1-b7b8-cb117fd918ad_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/2024/elts/us-gaap-2024.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_ecd_OutstandingRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryIndName_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryIndName" xlink:to="lab_ecd_OutstandingRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_42018ed0-7c81-482e-924c-1a7eea0fabe6_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_1aa2ede1-616a-4968-8d58-df792163cd97_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/2024/elts/us-gaap-2024.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_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_bdada6f4-ec2f-4136-92c1-c7bed0f48650_verboseLabel_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Unearned revenue</link:label>
    <link:label id="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_label_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Current Unearned Revenue</link:label>
    <link:label id="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_documentation_en-US" xlink:label="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Current Unearned Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:to="lab_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ab040173-848e-4b2c-b7d6-b6405da3e963_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/2024/elts/us-gaap-2024.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_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_82898a09-e3e0-41ee-abf0-8aa4c5fd6b81_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/2024/elts/us-gaap-2024.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_ecd_NonPeoNeoMember_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-PEO NEO</link:label>
    <link:label id="lab_ecd_NonPeoNeoMember_label_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-PEO NEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoMember" xlink:to="lab_ecd_NonPeoNeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_22a6d88a-5b1e-42ce-8068-c5912e11ec05_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/2024/elts/us-gaap-2024.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_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_3b27eb9d-6393-4f8f-8062-3ea473d32bf0_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/2024/elts/us-gaap-2024.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_ecd_AwardTmgPredtrmndFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Timing Predetermined</link:label>
    <link:label id="lab_ecd_AwardTmgPredtrmndFlag_label_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing Predetermined [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgPredtrmndFlag" xlink:to="lab_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_f1271904-36b9-4f6d-9c2a-062b3f327624_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_86c6934d-5905-4dfe-addd-30917f0e6ed2_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/2024/elts/us-gaap-2024.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_NewAccountingPronouncementsPolicyPolicyTextBlock_574078e2-3c6d-4f50-947e-83d28ce75629_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/2024/elts/us-gaap-2024.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_LongTermDebtTextBlock_6193b97d-d625-449a-b42f-5838c81d006a_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/2024/elts/us-gaap-2024.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_SegmentReportingOtherSignificantReconcilingItemLineItems_c56de35c-abdb-4d0e-a3db-edb9655cb407_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/2024/elts/us-gaap-2024.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_FiniteLivedIntangibleAssetsByMajorClassAxis_35adbc9b-a558-405a-b713-b91923933f8d_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/2024/elts/us-gaap-2024.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_FiniteLivedIntangibleAssetsAccumulatedAmortization_d5f6c0b8-3d81-4ff4-b8c1-1a174b8b8338_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/2024/elts/us-gaap-2024.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_ecd_MeasureName_terseLabel_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_MeasureName_label_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureName" xlink:to="lab_ecd_MeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_05e7c451-2ab5-4d02-a191-5e11c8f9311e_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/2024/dei-2024.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_TypeOfRestructuringDomain_bcf190da-9e7d-4c7d-ae57-710be1adc320_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/2024/elts/us-gaap-2024.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_ecd_RestatementDoesNotRequireRecoveryTextBlock_terseLabel_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restatement does not require Recovery</link:label>
    <link:label id="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock_label_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restatement Does Not Require Recovery [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_353296b3-aacc-4094-8f44-2b73358f71f2_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/2024/elts/us-gaap-2024.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_RestructuringSettlementAndImpairmentProvisions_b4336409-7f92-4ef2-9bdd-9eacbf9b0908_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/2024/elts/us-gaap-2024.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_us-gaap_DisaggregationOfRevenueTable_583e8d93-d53e-4f7f-881d-648f2d7f6e8d_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/2024/elts/us-gaap-2024.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_StatementOfFinancialPositionAbstract_73bbc190-2bdd-4d44-88cd-127093ca65e8_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/2024/elts/us-gaap-2024.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_RestructuringAndRelatedActivitiesDisclosureTextBlock_aed53551-843a-41a2-95da-cb98b91be462_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/2024/elts/us-gaap-2024.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_ShareBasedCompensation_a2eb110d-b9b2-4320-bf3f-d822f6edf51e_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/2024/elts/us-gaap-2024.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_95b0948d-6e62-4b7d-bf9c-872c81277c73_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/2024/elts/us-gaap-2024.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_us-gaap_IncomeTaxExpenseBenefit_a5003b85-32aa-46eb-8ea3-f7595838b06c_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_350bbc14-6cf6-4b49-a2bb-b651e7139cc0_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 (in thousands)</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/2024/elts/us-gaap-2024.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_DebtInstrumentInterestRateStatedPercentage_876682b0-89fc-4ba5-aac5-319b1771c26c_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/2024/elts/us-gaap-2024.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_CorporateNonSegmentMember_93f13b83-f875-4034-87af-3f48d9728bc5_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">Segment Reporting, Reconciling Item, Corporate Nonsegment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_AllowanceForDoubtfulAccountsReceivableRollforward_987f1d4f-5e99-4e92-b252-9075fe438766_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/2024/elts/us-gaap-2024.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_EffectiveIncomeTaxRateContinuingOperations_e0fb6b7d-b2f3-4233-b99c-cd8d674b6dba_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/2024/elts/us-gaap-2024.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_NetCashProvidedByUsedInInvestingActivities_b550cab5-5413-473b-87b8-1ca148612539_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/2024/elts/us-gaap-2024.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_us-gaap_OperatingIncomeLoss_160ee613-bddc-493e-9720-70ad6c808d98_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_2fbcb64c-e3b7-4168-baec-98899d1b4582_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/2024/elts/us-gaap-2024.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_VariableRateDomain_cee78c82-c129-46a4-ad41-1ffc1f12ac83_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/2024/elts/us-gaap-2024.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_BusinessAcquisitionLineItems_505e93dd-8331-4102-b711-67e92ffe8550_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/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_12a9b4da-d56f-44d9-b2f8-b7d44377d06f_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/2024/elts/us-gaap-2024.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_LiabilitiesAndStockholdersEquity_e0eccfac-8c95-4e77-998f-353cf97621f5_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/2024/elts/us-gaap-2024.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_OtherOperatingActivitiesCashFlowStatement_7d39ae10-e7ac-4d75-8007-b2af69009d38_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/2024/elts/us-gaap-2024.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_SubsequentEventsTextBlock_33e3866f-b2d1-4d0b-8ae5-988e955fe1b7_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:to="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllAdjToCompMember_terseLabel_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Adjustments to Compensation</link:label>
    <link:label id="lab_ecd_AllAdjToCompMember_label_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Adjustments to Compensation [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllAdjToCompMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="lab_ecd_AllAdjToCompMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_cfb1eda4-d9bf-4787-bd76-86e71372f5e8_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/2024/elts/us-gaap-2024.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_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_18ed2228-b120-4d23-a19b-77751bee3187_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-20250331.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_rock_Amended2018PlanMember_81c2ccb6-636f-438c-affb-fea92ff94979_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-20250331.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_RestructuringCharges_6d6f12fe-bb0a-4a60-981c-15a87c180efd_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/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCharges" xlink:to="lab_us-gaap_RestructuringCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccruedExpensesCurrentMember_b22b8809-797a-4be9-b8c0-13da2b4c116c_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-20250331.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_FiniteLivedIntangibleAssetsMajorClassNameDomain_90c460c1-5585-42c6-8ed6-85ea0c5bca8d_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/2024/elts/us-gaap-2024.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_ecd_UndrlygSecurityMktPriceChngPct_terseLabel_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Underlying Security Market Price Change</link:label>
    <link:label id="lab_ecd_UndrlygSecurityMktPriceChngPct_label_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Underlying Security Market Price Change, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:to="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_IndividualAxis_terseLabel_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Individual:</link:label>
    <link:label id="lab_ecd_IndividualAxis_label_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_IndividualAxis" xlink:to="lab_ecd_IndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_60e9242e-a73d-41cc-97bb-70bf652270cd_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/2024/elts/us-gaap-2024.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_AccumulatedOtherComprehensiveIncomeMember_3fe11317-f86a-4114-9949-632b3aa6b5e0_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/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RenewablesMember_6d35c7aa-fe8e-4d1d-b3ee-34d935e071fd_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-20250331.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_0e430cc5-b22d-49fe-b4f7-35d0e3f1a897_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/2024/elts/us-gaap-2024.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_InventoryNet_d9a722ae-0bf3-4310-8065-0ec004956a83_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_7203c0e4-f66c-40ba-88c5-d60cd2683afb_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/2024/elts/us-gaap-2024.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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_1e227e19-ee94-4591-bf88-8cabf92dcb33_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/2024/elts/us-gaap-2024.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_LongtermDebtTypeDomain_56281e25-ea09-4030-b489-f1ffd9eb58c9_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/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_e921478d-2e06-4a09-895a-c5746fd17225_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/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_e62017eb-7c74-41d2-9242-f12dadfa45b1_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/2024/elts/us-gaap-2024.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_ecd_ErrCompAnalysisTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
    <link:label id="lab_ecd_ErrCompAnalysisTextBlock_label_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Erroneous Compensation Analysis [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompAnalysisTextBlock" xlink:to="lab_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_aa1b4fa1-a2cf-4ff0-8c46-aab5daf696a4_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/2024/elts/us-gaap-2024.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_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_b7602d58-426f-48b7-871c-f1dc4b3bf02f_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/2024/elts/us-gaap-2024.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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_064dc6b8-b222-4ad1-b8b2-07451ce210a9_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-20250331.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_LiabilitiesAndStockholdersEquityAbstract_93b9e194-0685-404e-809f-dc5bd3cb7da7_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/2024/elts/us-gaap-2024.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_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_cdfe36a4-9b59-4f1b-b070-4b8972211e10_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/2024/elts/us-gaap-2024.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_srt_MinimumMember_92276eeb-8b8b-4721-9938-89929897194f_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/2024/elts/srt-2024.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_ecd_RestatementDeterminationDate_terseLabel_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:label id="lab_ecd_RestatementDeterminationDate_label_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDeterminationDate" xlink:to="lab_ecd_RestatementDeterminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrAdoptionDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adoption Date</link:label>
    <link:label id="lab_ecd_TrdArrAdoptionDate_label_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement Adoption Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrAdoptionDate" xlink:to="lab_ecd_TrdArrAdoptionDate" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTable_terseLabel_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pay vs Performance Disclosure</link:label>
    <link:label id="lab_ecd_PvpTable_label_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTable" xlink:to="lab_ecd_PvpTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_e72199f7-13c0-4646-918d-a21de0919738_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/2024/elts/us-gaap-2024.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_ecd_ErrCompRecoveryTable_terseLabel_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Erroneously Awarded Compensation Recovery</link:label>
    <link:label id="lab_ecd_ErrCompRecoveryTable_label_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="lab_ecd_ErrCompRecoveryTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_06470a63-bb4f-4f29-8b19-21e44ab5c87b_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/2024/elts/us-gaap-2024.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_StatementBusinessSegmentsAxis_426ad4c6-916d-42ee-be91-cc70b4bef736_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/2024/elts/us-gaap-2024.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_414b335f-f2f3-43c2-b8a5-8323cdf00da8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" 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, Noncurrent Liabilities, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember_terseLabel_en-US" xlink:label="lab_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year</link:label>
    <link:label id="lab_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember_label_en-US" xlink:label="lab_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:to="lab_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaRevenue_5b35db82-1fc3-49e4-9ecc-68cdc80c1cd5_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" 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_BusinessAcquisitionsProFormaRevenue_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_abfe795a-6a3d-4a7a-b19f-de7be06ba028_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/2024/elts/us-gaap-2024.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_ecd_AwardExrcPrice_terseLabel_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercise Price</link:label>
    <link:label id="lab_ecd_AwardExrcPrice_label_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardExrcPrice" xlink:to="lab_ecd_AwardExrcPrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_974ff831-a99c-49a3-85b2-4d065edf2c26_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/2024/elts/us-gaap-2024.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_ecd_TrdArrDuration_terseLabel_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Arrangement Duration</link:label>
    <link:label id="lab_ecd_TrdArrDuration_label_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement Duration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrDuration" xlink:to="lab_ecd_TrdArrDuration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_a3c29b60-ec8b-4cac-abaa-9bc9db47b780_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_7a8e3d5d-0ebd-4527-a8bf-b0fcfeb59efb_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/2024/elts/us-gaap-2024.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_IncomeLossFromContinuingOperationsPerBasicShare_9e89db4d-69e1-474c-833a-93e125df37fe_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/2024/elts/us-gaap-2024.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_StockholdersEquityAbstract_5e4931d9-a295-41ec-a3e5-e83a25b6bb3b_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/2024/elts/us-gaap-2024.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_87784fea-df43-4f45-a863-0d3009d7f4e4_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/2024/elts/us-gaap-2024.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_ecd_PeerGroupIssuersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
    <link:label id="lab_ecd_PeerGroupIssuersFnTextBlock_label_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Peer Group Issuers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:to="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncome_2ba60f74-8f5b-4299-ad32-55890842f5c8_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other expense, net</link:label>
    <link:label id="lab_us-gaap_OtherIncome_label_en-US" xlink:label="lab_us-gaap_OtherIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncome" xlink:to="lab_us-gaap_OtherIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_90ebcf5e-3338-4e32-a6b7-c6fdf543a823_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/2024/elts/us-gaap-2024.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_ecd_MtrlTermsOfTrdArrTextBlock_terseLabel_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
    <link:label id="lab_ecd_MtrlTermsOfTrdArrTextBlock_label_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Material Terms of Trading Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_fdfd5baf-42d5-4503-9a3d-b19bb7f81d18_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">2029</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/2024/elts/us-gaap-2024.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_ecd_AllIndividualsMember_terseLabel_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Individuals</link:label>
    <link:label id="lab_ecd_AllIndividualsMember_label_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Individuals [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="lab_ecd_AllIndividualsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_f43870f3-f5ec-49d8-b0b7-f7890d728586_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquired warranty accruals during the period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoMember_terseLabel_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PEO</link:label>
    <link:label id="lab_ecd_PeoMember_label_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoMember" xlink:to="lab_ecd_PeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_d397d34d-3336-46de-aae5-dc48e95f3750_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/2024/elts/us-gaap-2024.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_IncomeTaxDisclosureAbstract_13ee18c6-666b-411b-aaa6-d8c5b7280ee6_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/2024/elts/us-gaap-2024.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_ecd_TrdArrIndName_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_TrdArrIndName_label_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndName" xlink:to="lab_ecd_TrdArrIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_e1430d06-6932-4807-9857-5bbc8e703a7f_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 expense (income), net</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/2024/elts/us-gaap-2024.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_us-gaap_StatementOfStockholdersEquityAbstract_c87fb977-c392-4883-8d3f-bbd9d5d59881_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/2024/elts/us-gaap-2024.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_IntangibleAssetsNetExcludingGoodwill_c5f3efcd-ee60-4d3f-8f86-8e1d904623ab_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/2024/elts/us-gaap-2024.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_ReceivablesAbstract_f70f812f-aa43-4ec0-9902-c56b32f942f3_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/2024/elts/us-gaap-2024.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_ScheduleOfLineOfCreditFacilitiesTextBlock_11301719-e04c-4568-8e75-f171f08b0b1f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Line of Credit Facilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Line of Credit Facilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock" xlink:to="lab_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2022SeniorCreditAgreementMember_0d4aaaf3-5d27-4888-a947-cfc23e073cf9_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-20250331.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_2577137c-c514-4a4e-808d-7586546e0407_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/2024/elts/us-gaap-2024.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_rock_LondonInterbankOfferedRateLIBOR1Member_a85a731c-c465-4389-b6ef-145e3dc1281f_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-20250331.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_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, Asset Acquisition, and Joint Venture Formation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ecd_AwardsCloseToMnpiDiscTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember_terseLabel_en-US" xlink:label="lab_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year</link:label>
    <link:label id="lab_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember_label_en-US" xlink:label="lab_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:to="lab_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodAxis_c604a4ea-849d-4b18-aa50-0267c186dd8a_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-20250331.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_ecd_AggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_AggtErrCompAmt_label_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompAmt" xlink:to="lab_ecd_AggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_ba82a531-6c8c-4cb8-b173-cd1d812d15f7_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/2024/elts/us-gaap-2024.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_dei_LocalPhoneNumber_2ecda26a-a8e1-4f84-a671-7bae872918ed_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/2024/dei-2024.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_ProductWarrantyDisclosureTextBlock_bd43f0f2-c5c0-4562-a851-051b9b727de3_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/2024/elts/us-gaap-2024.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_ecd_AggtErrCompNotYetDeterminedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
    <link:label id="lab_ecd_AggtErrCompNotYetDeterminedTextBlock_label_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_6c7f6d57-0747-4fea-934f-d8f256ea5ba6_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_bc9eba62-f715-4309-a5b0-f22fdfd0fe73_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/2024/elts/us-gaap-2024.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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_f43c667c-48e5-4c84-8102-7ce5f0b1362f_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-20250331.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_StockRepurchasedDuringPeriodShares_785fd8ef-bed1-4cb4-95fd-3bb5e9d90db3_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/2024/elts/us-gaap-2024.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_rock_LaneSupplyMember_b966fac1-f060-4209-ac75-541ffd58039f_terseLabel_en-US" xlink:label="lab_rock_LaneSupplyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lane Supply</link:label>
    <link:label id="lab_rock_LaneSupplyMember_label_en-US" xlink:label="lab_rock_LaneSupplyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lane Supply [Member]</link:label>
    <link:label id="lab_rock_LaneSupplyMember_documentation_en-US" xlink:label="lab_rock_LaneSupplyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Lane Supply</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_LaneSupplyMember" xlink:to="lab_rock_LaneSupplyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_888c5812-0db8-4d90-9bc6-a63fb7444e22_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/2024/elts/us-gaap-2024.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_IncreaseDecreaseInOperatingCapitalAbstract_9ec2078e-7681-4d7e-8ee0-a08bac96b57f_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/2024/elts/us-gaap-2024.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_ecd_PeoTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoTotalCompAmt_label_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoTotalCompAmt" xlink:to="lab_ecd_PeoTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessExitCosts1_4caccf52-12ac-4c7c-8ea3-c0490c856e6d_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/2024/elts/us-gaap-2024.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_srt_ShareRepurchaseProgramDomain_e065224b-6cac-4bf4-b702-1535a94e9c88_terseLabel_en-US" xlink:label="lab_srt_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_srt_ShareRepurchaseProgramDomain_label_en-US" xlink:label="lab_srt_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ShareRepurchaseProgramDomain" xlink:to="lab_srt_ShareRepurchaseProgramDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AgtechMember_0b210608-e3cb-44a0-bc50-94f12a5e52a5_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-20250331.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_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/2024/elts/us-gaap-2024.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_CommonStockMember_5bbffd4f-ac8d-41dc-a28e-10858927d95e_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_90468e00-adfc-4f42-9a55-614b55bf92c7_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/2024/elts/us-gaap-2024.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_ecd_MeasureAxis_terseLabel_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Measure:</link:label>
    <link:label id="lab_ecd_MeasureAxis_label_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measure [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureAxis" xlink:to="lab_ecd_MeasureAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_1793be07-4760-4e58-82d5-7dd3faae887d_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/2024/elts/us-gaap-2024.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_DebtInstrumentNumberOfDebtCovenants_36d8c1f9-8329-4834-97e4-fd1cb6d72963_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-20250331.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_08ea8446-5822-4323-a632-95bae11114f7_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-20250331.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_us-gaap_PreferredStockSharesAuthorized_2c934305-dc81-494e-93e1-994bc526a45f_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/2024/elts/us-gaap-2024.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_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_59424dc7-5be1-4e8a-aeb4-85bc085b7a02_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" 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, Current Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_67dc6a32-eb87-4468-bad4-18eb48736d00_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/2024/elts/us-gaap-2024.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_LineOfCreditMember_b7f17dac-80c7-47a6-a01a-a01a9ec41433_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/2024/elts/us-gaap-2024.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_dei_EntityEmergingGrowthCompany_df272cce-48e8-4256-8122-f07e25fec44e_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/2024/dei-2024.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_IndefiniteLivedIntangibleAssetsByMajorClassAxis_390ad399-c03e-45de-a682-10f3ba721904_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/2024/elts/us-gaap-2024.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_dei_EntityCentralIndexKey_7fa1efe4-ca92-4e89-a42c-9c2bbf6eec6b_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/2024/dei-2024.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_ScheduleOfInventoryCurrentTableTextBlock_3ce04d8b-1804-4e76-b031-d5bc94578bd4_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/2024/elts/us-gaap-2024.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_ecd_NonGaapMeasureDescriptionTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-GAAP Measure Description</link:label>
    <link:label id="lab_ecd_NonGaapMeasureDescriptionTextBlock_label_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-GAAP Measure Description [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrual_40278880-86e5-4d86-86e9-f184ea3eedc1_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_b7f3625c-1dcc-4097-9d20-4dd7af7bbaa7_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/2024/elts/us-gaap-2024.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_ecd_AwardTmgHowMnpiCnsdrdTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing, How MNPI Considered [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_90b226c7-84f6-4a2b-9d74-a5f931380efa_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/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_27424784-4665-416a-b848-97604dd85e54_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/2024/elts/us-gaap-2024.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_SegmentReportingDisclosureTextBlock_63cc9283-88a3-4682-a732-9269ffac9566_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/2024/elts/us-gaap-2024.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_rock_InfrastructureMember_0eca91f0-8ba7-44bd-bb9e-87dffab4d99a_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-20250331.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_ecd_Additional402vDisclosureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
    <link:label id="lab_ecd_Additional402vDisclosureTextBlock_label_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional 402(v) Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Additional402vDisclosureTextBlock" xlink:to="lab_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_bd919c93-9152-41a5-9326-b6c56735da1a_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/2024/elts/us-gaap-2024.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_dei_EntityShellCompany_5e5476b2-31fb-48f4-8fea-7312ef9eef1e_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/2024/dei-2024.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_rock_SellingGeneralAndAdministrativeExpenseMember_464ef82a-cf54-4745-8470-6052e0efbaba_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-20250331.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_dei_EntityIncorporationStateCountryCode_11e7ee79-dde7-45b8-8d10-f656baa93d48_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/2024/dei-2024.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_ecd_TrdArrIndTitle_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Title</link:label>
    <link:label id="lab_ecd_TrdArrIndTitle_label_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement, Individual Title</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndTitle" xlink:to="lab_ecd_TrdArrIndTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandbyLettersOfCreditMember_796e263b-2df4-445a-b26b-c7afbed2afc8_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/2024/elts/us-gaap-2024.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_StatementTable_ca25daf8-267a-4d98-8482-6b66dccb6855_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/2024/elts/us-gaap-2024.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_srt_ConsolidationItemsDomain_5c8a8d9a-27b6-451a-b29c-a5f026e24a2d_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/2024/elts/srt-2024.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_dei_CityAreaCode_e308c51a-e9c0-4a16-9162-fe2e27f79fb3_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/2024/dei-2024.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_us-gaap_LiabilitiesCurrentAbstract_d82538b5-0926-4f8c-b2a8-19420a4f9df6_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/2024/elts/us-gaap-2024.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_SegmentReportingInformationRevenueAbstract_e8f56051-4169-4264-b168-d21458ecf91c_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/2024/elts/us-gaap-2024.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_rock_CostsInExcessOfBillingsNet_a84f9e92-a6c2-4eec-a2ee-6b941bad9893_terseLabel_en-US" xlink:label="lab_rock_CostsInExcessOfBillingsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Costs in excess of billings, net</link:label>
    <link:label id="lab_rock_CostsInExcessOfBillingsNet_label_en-US" xlink:label="lab_rock_CostsInExcessOfBillingsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Costs In Excess Of Billings, Net</link:label>
    <link:label id="lab_rock_CostsInExcessOfBillingsNet_documentation_en-US" xlink:label="lab_rock_CostsInExcessOfBillingsNet" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Costs In Excess Of Billings, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CostsInExcessOfBillingsNet" xlink:href="rock-20250331.xsd#rock_CostsInExcessOfBillingsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_CostsInExcessOfBillingsNet" xlink:to="lab_rock_CostsInExcessOfBillingsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_f958c2ce-f75c-4f7c-8d62-eb8c188d0960_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/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_5182ca06-8e5f-4204-86f8-789ff50910d3_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/2024/elts/us-gaap-2024.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_StatementOfCashFlowsAbstract_2e82e3df-83c1-4c0d-8102-364d7615953c_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/2024/elts/us-gaap-2024.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_LineOfCreditFacilityRemainingBorrowingCapacity_550186d2-0119-466b-8463-34b26f7c2bc6_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">Availability on revolving credit facility</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/2024/elts/us-gaap-2024.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_PaymentsForRepurchaseOfCommonStock_157e3306-547b-4213-8c0a-914b92e1141a_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/2024/elts/us-gaap-2024.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_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_cf948d48-b6a5-44ba-9ffa-f596bd696a1b_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-20250331.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_DebtInstrumentTable_82ebe211-3af6-4387-9d36-15960a02a2dd_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/2024/elts/us-gaap-2024.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_4afe0f29-d072-4c91-8377-065eef3d43a4_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/2024/elts/us-gaap-2024.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_RestructuringReserveRollForward_aa53ca83-d03a-4df9-9add-1bef2e1cd35a_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/2024/elts/us-gaap-2024.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_SubsequentEventTypeAxis_263d39a1-99d4-43f0-af94-6e240e70c134_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_6887d840-9ed9-4b91-8d98-19784f2b304b_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/2024/elts/us-gaap-2024.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_EarningsPerShareAbstract_4712f27b-e9bd-4df2-8bca-3c8f2678b1d9_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/2024/elts/us-gaap-2024.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_NonCurrentLiabilitiesMember_7a7613c4-2bb7-4f44-9d92-baac50264093_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-20250331.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_InventoryRawMaterialsNetOfReserves_c45b8664-42f5-4d07-a4bb-ebb04cae52ca_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" 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_InventoryRawMaterialsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_6a0ec2c2-17c2-448a-8bc7-9f0978164a08_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/2024/elts/us-gaap-2024.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_IncreaseDecreaseInInventories_e89a280f-2d1a-45ad-bd1e-ed83aef1ae08_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/2024/elts/us-gaap-2024.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_rock_ApplicableRatePeriod2Member_70b38ed1-2ee2-4582-990e-bfa379c02407_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-20250331.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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_aa9b0b62-cebf-4968-a393-bd69e2f60ef3_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/2024/elts/us-gaap-2024.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:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_terseLabel_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Available</link:label>
    <link:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_label_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement, Securities Aggregate Available Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:to="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_EqtyAwrdsAdjsMember_terseLabel_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments</link:label>
    <link:label id="lab_ecd_EqtyAwrdsAdjsMember_label_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EqtyAwrdsAdjsMember" xlink:to="lab_ecd_EqtyAwrdsAdjsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_03329537-5236-48a7-8ece-35ef467fe1d2_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/2024/elts/us-gaap-2024.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_ecd_AwardUndrlygSecuritiesAmt_terseLabel_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Underlying Securities</link:label>
    <link:label id="lab_ecd_AwardUndrlygSecuritiesAmt_label_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Underlying Securities Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:to="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_28008bc3-4e43-4002-8050-79a158400547_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/2024/elts/us-gaap-2024.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_CreditFacilityAxis_cba99482-83c2-40fb-b01c-225484b6459c_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/2024/elts/us-gaap-2024.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_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/2024/elts/us-gaap-2024.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_dei_AmendmentFlag_089e7405-f04a-47d3-aa49-d62ed69a18bb_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/2024/dei-2024.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_dei_EntityRegistrantName_dc174f53-2dc2-4353-8e2d-d3ca2bbe2ed7_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/2024/dei-2024.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_TransferredAtPointInTimeMember_e835db1a-ad5d-4074-9f44-7a850fe77828_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/2024/elts/us-gaap-2024.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_ecd_AdjToNonPeoNeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
    <link:label id="lab_ecd_AdjToNonPeoNeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_terseLabel_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Appreciation Rights (SARs)</link:label>
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_label_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Appreciation Rights (SARs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:to="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_f4cf161e-a2a6-4d5b-973b-0bc914e41081_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-20250331.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_DepreciationDepletionAndAmortization_df57adec-d355-4898-80e2-82098136dd80_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/2024/elts/us-gaap-2024.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_TimingOfTransferOfGoodOrServiceAxis_3aa1bccf-f817-4b38-81c8-8dfccd36d846_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/2024/elts/us-gaap-2024.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_4f7554cf-5f52-48be-bac0-dbab8e49f963_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/2024/elts/us-gaap-2024.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_GrossProfit_fbe4c8d4-d55d-465c-862f-4913e222e6dd_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/2024/elts/us-gaap-2024.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_ScheduleOfProductWarrantyLiabilityTableTextBlock_9dc8cc98-648d-4f3a-8a83-ca84b43e15fd_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/2024/elts/us-gaap-2024.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_ecd_AwardGrantDateFairValue_terseLabel_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value as of Grant Date</link:label>
    <link:label id="lab_ecd_AwardGrantDateFairValue_label_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardGrantDateFairValue" xlink:to="lab_ecd_AwardGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_6af9290a-a62f-4452-b1ee-c1d032e88697_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RecoveryOfErrCompDisclosureLineItems_label_en-US" xlink:label="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Recovery of Erroneously Awarded Compensation Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_e6d47dbc-b7f0-47dc-b1ad-eee1d0886f0e_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/2024/elts/us-gaap-2024.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_us-gaap_DisaggregationOfRevenueTableTextBlock_e2f37f66-2dad-4b6a-bf2c-58def74277b4_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/2024/elts/us-gaap-2024.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_dei_EntityAddressPostalZipCode_d4319ab3-4958-4c7e-b5d4-0f64b5116370_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/2024/dei-2024.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_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_0b932283-cfb5-402a-8a84-640e151850a4_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">Restructuring Cost [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_rock_A2025AcquisitionsMember_84c9577c-3c71-4471-9e87-0c26baba06e8_terseLabel_en-US" xlink:label="lab_rock_A2025AcquisitionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025 Acquisitions</link:label>
    <link:label id="lab_rock_A2025AcquisitionsMember_label_en-US" xlink:label="lab_rock_A2025AcquisitionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025 Acquisitions [Member]</link:label>
    <link:label id="lab_rock_A2025AcquisitionsMember_documentation_en-US" xlink:label="lab_rock_A2025AcquisitionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">2025 Acquisitions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2025AcquisitionsMember" xlink:href="rock-20250331.xsd#rock_A2025AcquisitionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2025AcquisitionsMember" xlink:to="lab_rock_A2025AcquisitionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDateAxis_terseLabel_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restatement Determination Date:</link:label>
    <link:label id="lab_ecd_RestatementDateAxis_label_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDateAxis" xlink:to="lab_ecd_RestatementDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_08a53b7e-0320-4b07-bd74-e79d7b9f81ec_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/2024/dei-2024.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_CommonStockValue_d128ec0b-cff7-4264-877a-8184da86c47f_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,401 and 34,313 shares issued and outstanding in 2025 and 2024</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/2024/elts/us-gaap-2024.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_CashAndCashEquivalentsAtCarryingValue_80bd2b8e-83f1-46ba-a5d9-031267256cc6_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/2024/elts/us-gaap-2024.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_ShareRepurchaseProgramDuration_5ca47df2-21f9-4422-9a8d-81a15b9b8cc8_terseLabel_en-US" xlink:label="lab_rock_ShareRepurchaseProgramDuration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program, Duration</link:label>
    <link:label id="lab_rock_ShareRepurchaseProgramDuration_label_en-US" xlink:label="lab_rock_ShareRepurchaseProgramDuration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program, Duration</link:label>
    <link:label id="lab_rock_ShareRepurchaseProgramDuration_documentation_en-US" xlink:label="lab_rock_ShareRepurchaseProgramDuration" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share Repurchase Program, Duration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareRepurchaseProgramDuration" xlink:href="rock-20250331.xsd#rock_ShareRepurchaseProgramDuration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareRepurchaseProgramDuration" xlink:to="lab_rock_ShareRepurchaseProgramDuration" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember_terseLabel_en-US" xlink:label="lab_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested</link:label>
    <link:label id="lab_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember_label_en-US" xlink:label="lab_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:to="lab_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_c1cce649-1c9c-464e-9aa5-402a234c34a6_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/2024/elts/us-gaap-2024.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_NetCashProvidedByUsedInFinancingActivitiesAbstract_c51b4326-58b6-4830-971f-693147a2880d_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/2024/elts/us-gaap-2024.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_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember_terseLabel_en-US" xlink:label="lab_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested</link:label>
    <link:label id="lab_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember_label_en-US" xlink:label="lab_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:to="lab_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_7dc41eba-80bc-4482-b5d0-882cc52d8ab1_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/2024/elts/us-gaap-2024.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_IncreaseDecreaseInAccountsPayable_625296d4-074d-421a-a526-6dcf67dbfc62_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/2024/elts/us-gaap-2024.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_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_4c5b6160-e8c3-44d1-a054-cf5547c34716_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-20250331.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_ecd_AdjToPeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
    <link:label id="lab_ecd_AdjToPeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment To PEO Compensation, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToPeoCompFnTextBlock" xlink:to="lab_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing MNPI Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:to="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksMember_773bcdbe-2d31-439e-96cd-aec4f81580b5_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/2024/elts/us-gaap-2024.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_ecd_AggtPnsnAdjsSvcCstMember_terseLabel_en-US" xlink:label="lab_ecd_AggtPnsnAdjsSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Pension Adjustments Service Cost</link:label>
    <link:label id="lab_ecd_AggtPnsnAdjsSvcCstMember_label_en-US" xlink:label="lab_ecd_AggtPnsnAdjsSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Pension Adjustments Service Cost [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtPnsnAdjsSvcCstMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:to="lab_ecd_AggtPnsnAdjsSvcCstMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_15acdea4-48e9-4ca3-a4dc-f25d5c62fb89_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">Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ecd_CompActuallyPaidVsOtherMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Actually Paid vs. Other Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_cf198f94-46e6-4316-b7a6-0ac7683a3931_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/2024/elts/us-gaap-2024.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_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember_terseLabel_en-US" xlink:label="lab_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year</link:label>
    <link:label id="lab_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember_label_en-US" xlink:label="lab_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:to="lab_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ShareRepurchaseProgramAxis_0bc66ee4-27b5-4b86-ba34-d702a59609b4_terseLabel_en-US" xlink:label="lab_srt_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_srt_ShareRepurchaseProgramAxis_label_en-US" xlink:label="lab_srt_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ShareRepurchaseProgramAxis" xlink:to="lab_srt_ShareRepurchaseProgramAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_a13d9cce-dc1d-422e-b143-73e0bee30003_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_1da153d3-89db-4ae2-90ad-529d52ec84a5_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/2024/elts/us-gaap-2024.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_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_f4c1093f-13d5-433a-a3dd-bb8719c2bf64_negatedTerseLabel_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Excise tax on repurchase of common stock</link:label>
    <link:label id="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_label_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</link:label>
    <link:label id="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_documentation_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:href="rock-20250331.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:to="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_83b5d8cf-e24f-4e02-ba67-8d927b659402_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">2026</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/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_da079efa-7b70-4917-a83a-02fb2045e29c_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/2024/elts/us-gaap-2024.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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_c728e3b4-45df-4632-923c-59874f158f9a_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/2024/elts/us-gaap-2024.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_rock_ForeignCurrencyRateFloorMember_39993da3-0f15-4490-8ddd-b7eaba7754f0_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-20250331.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_PaymentsToAcquirePropertyPlantAndEquipment_da1efd05-10e1-4100-ab70-eb1b8c748a50_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/2024/elts/us-gaap-2024.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_OtherLiabilitiesNoncurrent_77d74d2b-ee5f-40ea-bd5a-97e96db54321_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/2024/elts/us-gaap-2024.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_MovementInStandardProductWarrantyAccrualRollForward_46468931-9f2c-429d-b65f-7488653e2fc9_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/2024/elts/us-gaap-2024.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_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_2488c992-96ec-4594-bdfd-15252b41c875_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/2024/elts/us-gaap-2024.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_ecd_TrdArrTerminationDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Termination Date</link:label>
    <link:label id="lab_ecd_TrdArrTerminationDate_label_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement Termination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrTerminationDate" xlink:to="lab_ecd_TrdArrTerminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Revenues_37102a55-df18-4838-a779-b044349f2af3_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/2024/elts/us-gaap-2024.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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_d4d8b4b2-9e81-4b5b-834c-2c2fede05c87_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/2024/elts/us-gaap-2024.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_dei_EntityAddressCityOrTown_d868bf66-d7af-4764-a311-e1d95f6ee617_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/2024/dei-2024.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_rock_ManagementStockPurchasePlanMember_4f2959e9-5230-4783-b8e2-5cc4f4df614e_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-20250331.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_DebtInstrumentAxis_e242c2f7-4c99-405c-a0a9-daae9827a388_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/2024/elts/us-gaap-2024.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_NetIncomeLoss_b6b4c916-b8db-460a-b1ca-878583d94a88_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_7f96a3fe-5e7d-492d-9ba4-d6f4ae60bbf1_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_2b5fe24b-7477-403e-a74b-a836e1b28f85_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) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ecd_TradingArrAxis_terseLabel_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trading Arrangement:</link:label>
    <link:label id="lab_ecd_TradingArrAxis_label_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Arrangement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrAxis" xlink:to="lab_ecd_TradingArrAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
    <link:label id="lab_ecd_PvpTableTextBlock_label_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pay vs Performance [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTableTextBlock" xlink:to="lab_ecd_PvpTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_af9c6f0d-77e8-4eb0-b246-d48f4a1821dc_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/2024/elts/us-gaap-2024.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_LineOfCreditFacilityCurrentBorrowingCapacity_501dbd66-4731-4e6e-9c53-cdc6f5a147cf_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_4d9aa9c5-ec8f-4c35-b300-f290dbf2e791_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Total revolving credit facility</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/2024/elts/us-gaap-2024.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_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember_terseLabel_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments, Excluding Value Reported in Compensation Table</link:label>
    <link:label id="lab_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember_label_en-US" xlink:label="lab_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="lab_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember_terseLabel_en-US" xlink:label="lab_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year</link:label>
    <link:label id="lab_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember_label_en-US" xlink:label="lab_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:to="lab_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_3f431141-be06-4f98-94e1-32713c98f59a_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/2024/dei-2024.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_RevenueFromContractWithCustomerTextBlock_7823efde-7527-4e22-bd19-602a19cc7174_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/2024/elts/us-gaap-2024.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_dei_DocumentFiscalYearFocus_bc241fde-e23e-46d4-af4d-9d14dba8486b_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/2024/dei-2024.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_us-gaap_IncomeStatementAbstract_e9bb4670-2624-4ef0-b251-dc07eff917f2_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/2024/elts/us-gaap-2024.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_dei_EntityAddressAddressLine1_f96df594-dac6-49e5-8cb0-1899eb081b6e_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/2024/dei-2024.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_930e5e8e-8b18-405f-844a-8fc034e545ba_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/2024/dei-2024.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_ac4f4555-2184-4726-8f37-93656019affa_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/2024/elts/us-gaap-2024.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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e681fdec-836e-4849-81f3-f1fd3cb2d1b2_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/2024/elts/us-gaap-2024.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_WeightedAverageNumberOfSharesOutstandingBasicAbstract_cfb1efe2-1fcd-4a11-b0b3-679f1b3f40da_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/2024/elts/us-gaap-2024.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_ecd_ForgoneRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryIndName_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryIndName" xlink:to="lab_ecd_ForgoneRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_f189bec0-4cfd-4700-a88d-99831f2b4bc1_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">2030</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/2024/elts/us-gaap-2024.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_dei_DocumentPeriodEndDate_0a251947-f5c8-4504-8ae1-62d051b810e8_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/2024/dei-2024.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_InventoryFinishedGoodsNetOfReserves_36d187e6-c64f-4222-ac13-636c7b211c7b_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" 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_InventoryFinishedGoodsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Timing MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Timing MNPI Considered [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BaseRateMember_13816ef5-aae7-437e-9a98-f42d736a75bb_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/2024/elts/us-gaap-2024.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_ecd_InsiderTradingArrLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="lab_ecd_InsiderTradingArrLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_6a64b759-deb0-4ebf-af89-b5f270415c49_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/2024/elts/us-gaap-2024.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_InventoryDisclosureAbstract_0769bcba-6382-4616-b226-e4e20bf09612_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/2024/elts/us-gaap-2024.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_ecd_OutstandingAggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingAggtErrCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingAggtErrCompAmt" xlink:to="lab_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_label_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoActuallyPaidCompAmt" xlink:to="lab_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_9eba9fb6-e879-499e-9a43-0d602fcf4f1c_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/2024/elts/us-gaap-2024.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_CostOfRevenue_a68d5c02-a307-4156-83a4-7ca055facae9_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/2024/elts/us-gaap-2024.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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_e3da094c-3578-43a4-b817-c0bb97d482ac_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/2024/elts/us-gaap-2024.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_ecd_AdjToCompAxis_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment to Compensation:</link:label>
    <link:label id="lab_ecd_AdjToCompAxis_label_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="lab_ecd_AdjToCompAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_1d06b011-efc9-4986-8bf6-719e56124506_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/2024/dei-2024.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_dei_DocumentQuarterlyReport_6db495db-cda1-4a90-9724-347dba72ce72_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/2024/dei-2024.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_AccumulatedOtherComprehensiveIncomeLossNetOfTax_26e3f2f3-2e23-46f3-be9a-670c51ec2935_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/2024/elts/us-gaap-2024.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_dei_EntityCurrentReportingStatus_f1fd3cf3-9654-4719-844b-4f52768d5c8e_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/2024/dei-2024.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_RetainedEarningsMember_e8ca826c-8249-49ad-8ffb-0368292f89f1_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/2024/elts/us-gaap-2024.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_ecd_PnsnAdjsSvcCstMember_terseLabel_en-US" xlink:label="lab_ecd_PnsnAdjsSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pension Adjustments Service Cost</link:label>
    <link:label id="lab_ecd_PnsnAdjsSvcCstMember_label_en-US" xlink:label="lab_ecd_PnsnAdjsSvcCstMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pension Adjustments Service Cost [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnAdjsSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnAdjsSvcCstMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PnsnAdjsSvcCstMember" xlink:to="lab_ecd_PnsnAdjsSvcCstMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_49feff72-48c8-4e3b-b81a-34901fd44828_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_703c4ddb-9a38-4449-830d-b6be39a706fb_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/2024/elts/us-gaap-2024.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_ecd_StkPrcOrTsrEstimationMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
    <link:label id="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock_label_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Price or TSR Estimation Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_4e9779c6-b9f1-4be9-b6ad-4c3542c526b6_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/2024/elts/us-gaap-2024.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_668f066f-9938-4f83-9f34-a1f51ce9fff7_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/2024/elts/us-gaap-2024.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_IncreaseDecreaseInStockholdersEquityRollForward_9fbdfead-c43a-40ab-898d-346d5a5392a6_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/2024/elts/us-gaap-2024.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_ecd_ExecutiveCategoryAxis_terseLabel_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Executive Category:</link:label>
    <link:label id="lab_ecd_ExecutiveCategoryAxis_label_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Executive Category [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="lab_ecd_ExecutiveCategoryAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MediumTermNotesMember_8fbedaf9-f8b5-463c-a6c4-9328f12d5a9a_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 Note [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.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_ecd_AwardsCloseToMnpiDiscIndName_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscIndName_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:to="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_a6cc8833-5abb-4542-8aaa-fbbf5a73aa49_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/2024/elts/us-gaap-2024.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_dei_EntityFilerCategory_9a85dc79-5dd5-4279-8b5d-674d9a968aea_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/2024/dei-2024.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserve_305d7c50-f1f2-40aa-ac1b-269dd241027f_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_32a22cd3-c92b-43ca-bb3b-bfb09fe1a475_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/2024/elts/us-gaap-2024.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_ecd_CoSelectedMeasureName_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureName_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureName" xlink:to="lab_ecd_CoSelectedMeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_fcfc6cdf-f3e0-41ad-a992-241b61d2f5d7_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/accruals during the period</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/2024/elts/us-gaap-2024.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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>rock-20250331_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 2025 Workiva-->
<!--r:54259a72-3803-419c-9bb7-d6e0deb45617,g:d2032530-be47-4baa-bb14-c8e3e42831fc-->
<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-20250331.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_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_a7d3b5d1-a9d6-4263-912c-680ba5870b49" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentType_a7d3b5d1-a9d6-4263-912c-680ba5870b49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_473b11b8-e564-4cfa-99ec-24a889710ca9" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentQuarterlyReport_473b11b8-e564-4cfa-99ec-24a889710ca9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_406cf0f3-bb8e-401b-87ef-d7e54aa368f4" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentPeriodEndDate_406cf0f3-bb8e-401b-87ef-d7e54aa368f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_ebb2be8e-9f10-499d-a8d8-3ce60b15ab14" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentTransitionReport_ebb2be8e-9f10-499d-a8d8-3ce60b15ab14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_7a78cf20-923c-4757-8f75-47a69b0e444c" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityFileNumber_7a78cf20-923c-4757-8f75-47a69b0e444c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_1d16d77f-d23e-4d6d-ab11-3dab55547e9a" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityRegistrantName_1d16d77f-d23e-4d6d-ab11-3dab55547e9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_5c71b0f1-382c-4850-b9ea-cb6a1586e472" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityIncorporationStateCountryCode_5c71b0f1-382c-4850-b9ea-cb6a1586e472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_2296c009-c481-40f4-b17b-0e3e9f855e1e" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityTaxIdentificationNumber_2296c009-c481-40f4-b17b-0e3e9f855e1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_26d9a291-f18d-4263-8786-09f51baa3e31" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityAddressAddressLine1_26d9a291-f18d-4263-8786-09f51baa3e31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_1346b2e7-58b7-4600-a4fb-d498c9d2ad1c" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityAddressAddressLine2_1346b2e7-58b7-4600-a4fb-d498c9d2ad1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_7364ecc0-d095-4cc3-98c1-85c32230ed8b" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityAddressCityOrTown_7364ecc0-d095-4cc3-98c1-85c32230ed8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_c8043b98-dcb7-456b-a1c3-9e2c73f8ff49" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityAddressStateOrProvince_c8043b98-dcb7-456b-a1c3-9e2c73f8ff49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_4af617e4-3a3e-4955-a53e-5509aa37e272" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityAddressPostalZipCode_4af617e4-3a3e-4955-a53e-5509aa37e272" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_14413454-b529-465c-881d-0b62a2182451" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_CityAreaCode_14413454-b529-465c-881d-0b62a2182451" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_d73d5b21-7581-450d-a093-f248d8513e3b" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_LocalPhoneNumber_d73d5b21-7581-450d-a093-f248d8513e3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_f9d406cd-284a-4a72-947c-03f9bd1467f7" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_Security12bTitle_f9d406cd-284a-4a72-947c-03f9bd1467f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_03bb5d4c-1ce7-4953-b908-81c6f2b7e661" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_TradingSymbol_03bb5d4c-1ce7-4953-b908-81c6f2b7e661" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_d6194f1c-f506-4546-a4c7-7ff289b6edef" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_SecurityExchangeName_d6194f1c-f506-4546-a4c7-7ff289b6edef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_6692b577-34fc-4e6c-bd73-45e5b3894323" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityCurrentReportingStatus_6692b577-34fc-4e6c-bd73-45e5b3894323" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_95bae584-2305-4bf2-ac18-665e14434b86" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityInteractiveDataCurrent_95bae584-2305-4bf2-ac18-665e14434b86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_49fa6304-2c1e-477d-af60-f0991d269a43" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityFilerCategory_49fa6304-2c1e-477d-af60-f0991d269a43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_79c4f1a3-f141-411e-bb3a-e94b4d64929d" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntitySmallBusiness_79c4f1a3-f141-411e-bb3a-e94b4d64929d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_00557bfa-205a-4fc4-b85b-bab57c36fb38" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityEmergingGrowthCompany_00557bfa-205a-4fc4-b85b-bab57c36fb38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_9ba18836-c6b6-422b-8a29-278502ecba3c" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityShellCompany_9ba18836-c6b6-422b-8a29-278502ecba3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_0e4297be-54e1-4242-ace6-20d7885afa99" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_0e4297be-54e1-4242-ace6-20d7885afa99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_312202ee-45a7-450f-8c1f-b4fc0f0112bd" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_AmendmentFlag_312202ee-45a7-450f-8c1f-b4fc0f0112bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_7945412c-3b42-42eb-a241-12e7effe7110" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentFiscalYearFocus_7945412c-3b42-42eb-a241-12e7effe7110" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_c5006ed0-3002-4733-aed9-2ce414ae9e42" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_DocumentFiscalPeriodFocus_c5006ed0-3002-4733-aed9-2ce414ae9e42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_a6b97468-661d-49ce-82fc-9fa4d77ccc91" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_EntityCentralIndexKey_a6b97468-661d-49ce-82fc-9fa4d77ccc91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_25d992d2-dd7c-4dd1-bd90-2590a69d7de9" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_b3a6f7f4-3c01-4a89-8237-b96639577119" xlink:to="loc_dei_CurrentFiscalYearEndDate_25d992d2-dd7c-4dd1-bd90-2590a69d7de9" 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-20250331.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_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_48d8ba5a-b563-4c8b-a451-25a64325278a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_Revenues_48d8ba5a-b563-4c8b-a451-25a64325278a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_a37eae6d-c97d-4a21-a267-5e2e36ad496c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_CostOfRevenue_a37eae6d-c97d-4a21-a267-5e2e36ad496c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_ffaa94c4-9892-410e-abb9-fbfab7057740" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_GrossProfit_ffaa94c4-9892-410e-abb9-fbfab7057740" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_6831a953-8709-4ee7-8783-019a428d9f47" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_6831a953-8709-4ee7-8783-019a428d9f47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_4d4379ea-5e8e-40b0-a43d-8f221b9c8af2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_OperatingIncomeLoss_4d4379ea-5e8e-40b0-a43d-8f221b9c8af2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_aeede204-6e8e-4274-84ec-83efe906ecdf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_aeede204-6e8e-4274-84ec-83efe906ecdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_cf54dd47-dab3-4ddb-b44e-2945e935226f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_cf54dd47-dab3-4ddb-b44e-2945e935226f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dca5aa56-1d63-457d-954b-a2ef94ea4f8b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dca5aa56-1d63-457d-954b-a2ef94ea4f8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_17864c37-a40f-457b-a3d8-770a144024a2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_17864c37-a40f-457b-a3d8-770a144024a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_fbe9df11-8da2-41b5-9c4a-2e5ccc085e89" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_NetIncomeLoss_fbe9df11-8da2-41b5-9c4a-2e5ccc085e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_21df994e-06d6-42fd-b183-7e37e2bd5b21" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_EarningsPerShareAbstract_21df994e-06d6-42fd-b183-7e37e2bd5b21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_0aec3707-4d72-479f-ad4f-ed50c7657bb3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_21df994e-06d6-42fd-b183-7e37e2bd5b21" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_0aec3707-4d72-479f-ad4f-ed50c7657bb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_e4f97331-637a-4c6f-963f-dd49bba6ab27" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_21df994e-06d6-42fd-b183-7e37e2bd5b21" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_e4f97331-637a-4c6f-963f-dd49bba6ab27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_4c4da555-455d-4fda-81cb-a415a75bfd7c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_0f6f12b6-2c9a-4d68-a34a-d24a3b33a3b1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_4c4da555-455d-4fda-81cb-a415a75bfd7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8ca70b72-92b2-4426-854b-e11a4251ad54" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_4c4da555-455d-4fda-81cb-a415a75bfd7c" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8ca70b72-92b2-4426-854b-e11a4251ad54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e82798d4-968a-4f09-a143-c772fbdf6e51" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_4c4da555-455d-4fda-81cb-a415a75bfd7c" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e82798d4-968a-4f09-a143-c772fbdf6e51" 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-20250331.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_d69a8e3d-3a85-4109-8276-1bc933a82b16" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5f23bfbb-98d1-4ae2-a446-f32aa90b5fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_d69a8e3d-3a85-4109-8276-1bc933a82b16" xlink:to="loc_us-gaap_NetIncomeLoss_5f23bfbb-98d1-4ae2-a446-f32aa90b5fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_a96c45ad-a882-4b71-96f9-5b4adb4f8c5a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_d69a8e3d-3a85-4109-8276-1bc933a82b16" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_a96c45ad-a882-4b71-96f9-5b4adb4f8c5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_74b562fe-4c91-4874-964b-942620cc85cb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_a96c45ad-a882-4b71-96f9-5b4adb4f8c5a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_74b562fe-4c91-4874-964b-942620cc85cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_9dd30052-0149-4536-b7cb-b321b8c3d5a6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_a96c45ad-a882-4b71-96f9-5b4adb4f8c5a" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_9dd30052-0149-4536-b7cb-b321b8c3d5a6" 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-20250331.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_02cb8e34-b233-4af5-aac4-f2e3d56f251a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_02cb8e34-b233-4af5-aac4-f2e3d56f251a" xlink:to="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7055096e-f784-49ab-a8cd-e2253f641042" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7055096e-f784-49ab-a8cd-e2253f641042" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_1af66d81-6695-495f-811e-c55c3fc8729a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_1af66d81-6695-495f-811e-c55c3fc8729a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CostsInExcessOfBillingsNet_898e3e4c-8538-440b-9878-76ed77c2c164" xlink:href="rock-20250331.xsd#rock_CostsInExcessOfBillingsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_rock_CostsInExcessOfBillingsNet_898e3e4c-8538-440b-9878-76ed77c2c164" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_057771f0-4af7-4229-93db-1eaccc55ee26" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_us-gaap_InventoryNet_057771f0-4af7-4229-93db-1eaccc55ee26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_ff158750-833d-485d-8b19-7cb1e398e9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_us-gaap_OtherAssetsCurrent_ff158750-833d-485d-8b19-7cb1e398e9bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_6db34d55-3ffa-4e3e-9491-d69b13e3f142" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_81d69e79-e7a5-4fd3-9ae2-a6bac7c92768" xlink:to="loc_us-gaap_AssetsCurrent_6db34d55-3ffa-4e3e-9491-d69b13e3f142" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_9a946e29-1b7a-4f5c-b0e5-f81c36a2b487" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_9a946e29-1b7a-4f5c-b0e5-f81c36a2b487" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_24d46d67-2cb9-4315-85f4-d5bef06f670b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_24d46d67-2cb9-4315-85f4-d5bef06f670b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_84f2498c-676c-4605-ae06-6347052dd77b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_Goodwill_84f2498c-676c-4605-ae06-6347052dd77b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_63cbf216-b7fd-433d-a489-ebbd214f8fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_63cbf216-b7fd-433d-a489-ebbd214f8fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_59fae2dd-5b79-4b0a-84ec-58bc0ba7a143" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_59fae2dd-5b79-4b0a-84ec-58bc0ba7a143" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_c5918e7f-8f46-46ec-ab7d-fa30aa3d08ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_06dd8c01-dfdb-4e6b-bfb3-8f8506561ffe" xlink:to="loc_us-gaap_Assets_c5918e7f-8f46-46ec-ab7d-fa30aa3d08ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_02cb8e34-b233-4af5-aac4-f2e3d56f251a" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_09df15fb-5a25-44b3-be34-bf009ae819a5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:to="loc_us-gaap_AccountsPayableCurrent_09df15fb-5a25-44b3-be34-bf009ae819a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_c8b6d47b-62f8-4b6a-b932-1efb5eb376d1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_c8b6d47b-62f8-4b6a-b932-1efb5eb376d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_30d2b833-9225-4f12-9996-244982a36ebf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_30d2b833-9225-4f12-9996-244982a36ebf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_e3a2237d-f538-410d-b985-a4dd7cf07b11" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_6cf53677-d165-42fb-b6a2-411bb0fb613d" xlink:to="loc_us-gaap_LiabilitiesCurrent_e3a2237d-f538-410d-b985-a4dd7cf07b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4bea2e53-8740-4c35-a8db-68b4a98ad802" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4bea2e53-8740-4c35-a8db-68b4a98ad802" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_1d772268-a257-4963-85f4-f92dfb4d4e19" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_1d772268-a257-4963-85f4-f92dfb4d4e19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_58258ab4-28de-43f1-a3e7-12c58600ca8c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_58258ab4-28de-43f1-a3e7-12c58600ca8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_b7f51cfd-ceac-4fd2-aa44-ee96661f55a9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_PreferredStockValue_b7f51cfd-ceac-4fd2-aa44-ee96661f55a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_44267960-c848-4dc4-a251-dbf5dd1b869a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_CommonStockValue_44267960-c848-4dc4-a251-dbf5dd1b869a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_e279ee5e-6f01-4ad2-922f-c28202d77a48" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_AdditionalPaidInCapital_e279ee5e-6f01-4ad2-922f-c28202d77a48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d198941c-644c-46c2-9c68-4233adf51611" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d198941c-644c-46c2-9c68-4233adf51611" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_3569cdee-2c21-411a-ac7c-f01c4d27e843" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_3569cdee-2c21-411a-ac7c-f01c4d27e843" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_95c91e98-0f1a-411e-beee-d876dd1f80aa" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_6a4f8959-22ea-4d4d-bf9b-c2a8e7ca7873" xlink:to="loc_us-gaap_TreasuryStockValue_95c91e98-0f1a-411e-beee-d876dd1f80aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_681f33d4-dafc-40fa-821f-bd420658c4c5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_StockholdersEquity_681f33d4-dafc-40fa-821f-bd420658c4c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_683f5b3a-775b-4626-b674-16530c14ece6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_d18fa2ce-97a1-4a25-ab0f-b2e628b8549b" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_683f5b3a-775b-4626-b674-16530c14ece6" 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-20250331.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_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_c071e067-8225-497a-a556-5905e9b78249" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_c071e067-8225-497a-a556-5905e9b78249" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_57518f34-e148-4eaa-b4d1-154d1dc91f98" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_57518f34-e148-4eaa-b4d1-154d1dc91f98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_4c08dda5-abbe-450c-91e0-02ba12a9a179" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_4c08dda5-abbe-450c-91e0-02ba12a9a179" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_dbc97eb9-2be4-45c4-8a66-3b2d1b3bc01e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_dbc97eb9-2be4-45c4-8a66-3b2d1b3bc01e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_a3745893-8b16-4d07-93a9-ad8f69a6039e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_a3745893-8b16-4d07-93a9-ad8f69a6039e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_2e4ecd0c-e988-4c89-b9af-366690e2dfff" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_2e4ecd0c-e988-4c89-b9af-366690e2dfff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_d7c2f923-0a90-40b3-86f0-c08ec1153ac2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_CommonStockSharesIssued_d7c2f923-0a90-40b3-86f0-c08ec1153ac2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_07440b06-dd22-418e-9c5c-e97ced8b3fee" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_07440b06-dd22-418e-9c5c-e97ced8b3fee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_cbf3f866-a919-4f66-adad-d98d5b81cdc7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_60be934a-27bd-42bf-824e-3a2f1c07d32f" xlink:to="loc_us-gaap_TreasuryStockCommonShares_cbf3f866-a919-4f66-adad-d98d5b81cdc7" 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-20250331.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_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_887559c4-37ad-47b6-91e7-9d393cbc4bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:to="loc_us-gaap_NetIncomeLoss_887559c4-37ad-47b6-91e7-9d393cbc4bc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_475d1c8d-7803-41cb-a6df-198e37cbd841" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_475d1c8d-7803-41cb-a6df-198e37cbd841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_9c16f057-7808-49d4-a29c-eb41a0eac30e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_475d1c8d-7803-41cb-a6df-198e37cbd841" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_9c16f057-7808-49d4-a29c-eb41a0eac30e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_e0f1c695-ceb6-4ffd-8b93-b1d48d042b91" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_475d1c8d-7803-41cb-a6df-198e37cbd841" xlink:to="loc_us-gaap_ShareBasedCompensation_e0f1c695-ceb6-4ffd-8b93-b1d48d042b91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_d045f499-7e8a-48be-b006-eb3c58e26eb7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_475d1c8d-7803-41cb-a6df-198e37cbd841" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_d045f499-7e8a-48be-b006-eb3c58e26eb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_a30f3948-6cc7-4d78-b4cb-12f9f26bc1dc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_a30f3948-6cc7-4d78-b4cb-12f9f26bc1dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_8c4d666d-a23b-4da1-ba2c-00a5153cd70d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_8c4d666d-a23b-4da1-ba2c-00a5153cd70d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_cb023902-be4e-4473-aaa6-320b44124826" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_cb023902-be4e-4473-aaa6-320b44124826" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_da535183-963e-4ba1-89a6-097695123aa8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_da535183-963e-4ba1-89a6-097695123aa8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_56e628b7-fb2c-4956-be21-bbd08c7636d1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_fb741973-7e6e-489c-9383-b1c6bb0d515f" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_56e628b7-fb2c-4956-be21-bbd08c7636d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_126d6dbb-59d1-4934-9a65-f03a3d7ebdd7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_a286d77e-9704-48d9-b265-d5ba466b3dff" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_126d6dbb-59d1-4934-9a65-f03a3d7ebdd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_dd65740b-6764-41c0-8f1f-909b483c2362" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_dd65740b-6764-41c0-8f1f-909b483c2362" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_804ffb98-0e1f-4003-8c08-81f6a70521db" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_804ffb98-0e1f-4003-8c08-81f6a70521db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_4dd27d0f-cd43-4c26-a357-881ab0e5eda0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_4dd27d0f-cd43-4c26-a357-881ab0e5eda0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_30e2c10b-309a-49ad-a51d-1bef49cb4df5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d8d9a2f5-b51d-4aca-921e-6c165825716f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_30e2c10b-309a-49ad-a51d-1bef49cb4df5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_001cb47b-e74b-40e4-bb99-dc4543e22851" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_001cb47b-e74b-40e4-bb99-dc4543e22851" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_70cd2124-5c96-4a93-977d-dac0f268cc5f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_001cb47b-e74b-40e4-bb99-dc4543e22851" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_70cd2124-5c96-4a93-977d-dac0f268cc5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f70e4c4d-710a-4178-981f-d5030b493a7e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_001cb47b-e74b-40e4-bb99-dc4543e22851" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_f70e4c4d-710a-4178-981f-d5030b493a7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_9ece67cb-9b9c-4719-ad10-0c9b5138824a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_9ece67cb-9b9c-4719-ad10-0c9b5138824a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2ba46dc5-ad34-49c6-9d7e-6aae448eb853" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2ba46dc5-ad34-49c6-9d7e-6aae448eb853" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f47d0050-696f-4259-810d-3ee04f852b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f47d0050-696f-4259-810d-3ee04f852b9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_00b34401-725e-4f13-b94e-221ecba01133" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b6a0c344-5f79-4100-8c7d-5a7b5ec3c863" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_00b34401-725e-4f13-b94e-221ecba01133" 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-20250331.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_335e52ff-e517-44be-88ea-1d58612c2534" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_335e52ff-e517-44be-88ea-1d58612c2534" xlink:to="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_4c16886f-36c0-46ab-93fa-e307e367a66e" xlink:to="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_24588d78-8e7f-49dc-8de4-c8653721e770" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_CommonStockMember_24588d78-8e7f-49dc-8de4-c8653721e770" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_ff1d72bd-469c-4ff8-824e-802b33b52ab2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_ff1d72bd-469c-4ff8-824e-802b33b52ab2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0ea22b3c-785e-4d0b-821b-8d5c1be53a99" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_RetainedEarningsMember_0ea22b3c-785e-4d0b-821b-8d5c1be53a99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_99334748-d791-4753-8d72-f05f615740b7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_99334748-d791-4753-8d72-f05f615740b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_f33e3942-4a99-43bd-846e-7881fb886482" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_0fe1cf78-74ab-40d1-b8a5-054b63e4078a" xlink:to="loc_us-gaap_TreasuryStockCommonMember_f33e3942-4a99-43bd-846e-7881fb886482" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_793407e5-e380-4117-9cd2-588bac32b602" xlink:to="loc_us-gaap_StatementLineItems_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_02136943-144e-48d1-bd67-b39cb17b5ad1" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_e60441e8-0e02-4286-b91a-2ce21b32a8c8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_e60441e8-0e02-4286-b91a-2ce21b32a8c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_94400a3c-d917-4016-85b3-b3a11acf6112" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockholdersEquity_94400a3c-d917-4016-85b3-b3a11acf6112" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_66857f55-b023-448a-8d77-8a97cca7c09b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_TreasuryStockCommonShares_66857f55-b023-448a-8d77-8a97cca7c09b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_8d5f877c-d52d-4f24-b9e9-fca4254398f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_NetIncomeLoss_8d5f877c-d52d-4f24-b9e9-fca4254398f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fcb8e16e-cb06-472a-8cd9-7baf45bb0e47" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fcb8e16e-cb06-472a-8cd9-7baf45bb0e47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b0f3caf2-f57a-4a52-88b0-13b271f6672d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b0f3caf2-f57a-4a52-88b0-13b271f6672d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_7ba33193-e540-4b61-b757-ea00a2a5ecc5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_7ba33193-e540-4b61-b757-ea00a2a5ecc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_5abbf294-b2ac-450f-8a87-a9bbb8ba0228" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_5abbf294-b2ac-450f-8a87-a9bbb8ba0228" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_9a124d95-cebd-429b-a956-e98fb2baecca" xlink:href="rock-20250331.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_9a124d95-cebd-429b-a956-e98fb2baecca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_d4f6047d-1ea1-4752-855b-9ec6872ab9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_d4f6047d-1ea1-4752-855b-9ec6872ab9d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_73a2caa8-6c58-4b14-9963-4c2985477405" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_73a2caa8-6c58-4b14-9963-4c2985477405" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_f4c53e4b-3522-4cd2-b0d2-5b1351da21c7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_f4c53e4b-3522-4cd2-b0d2-5b1351da21c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_59af734e-fad1-49c1-b159-b72b758c1fe0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_StockholdersEquity_59af734e-fad1-49c1-b159-b72b758c1fe0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_16a3fba1-0d28-4322-bd59-056f7b837a1d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_4443e754-89e0-47ce-8a5d-9a7647f6b6bc" xlink:to="loc_us-gaap_TreasuryStockCommonShares_16a3fba1-0d28-4322-bd59-056f7b837a1d" 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-20250331.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_e55c80f6-8dce-49f2-82d2-26b29cc478f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_a199bafd-12e5-4047-9b4d-1be7948f962a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_e55c80f6-8dce-49f2-82d2-26b29cc478f9" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_a199bafd-12e5-4047-9b4d-1be7948f962a" 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-20250331.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_26bb2a73-9351-4bbf-b610-65428a5ef3fc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_2cb58ae8-ff3e-4835-a2fc-a7f0b7d85366" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_26bb2a73-9351-4bbf-b610-65428a5ef3fc" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_2cb58ae8-ff3e-4835-a2fc-a7f0b7d85366" 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-20250331.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_45003950-2f67-422e-9012-dc5bd305371c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_f653e0d1-45bd-4224-b4fe-17a3a5835286" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_45003950-2f67-422e-9012-dc5bd305371c" xlink:to="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_f653e0d1-45bd-4224-b4fe-17a3a5835286" 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-20250331.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_83654c87-9fb1-4b61-ac8a-1bda8a1341e7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_5c93d158-ed96-436e-8c43-0add51c9b796" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_83654c87-9fb1-4b61-ac8a-1bda8a1341e7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_5c93d158-ed96-436e-8c43-0add51c9b796" 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-20250331.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_7712402b-595a-4c8c-b9f3-1dbf2fa03a1c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_51e8f4d9-3aa8-46c8-bf02-334f70404cad" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_7712402b-595a-4c8c-b9f3-1dbf2fa03a1c" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_51e8f4d9-3aa8-46c8-bf02-334f70404cad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Acquisitions" xlink:type="simple" xlink:href="rock-20250331.xsd#Acquisitions"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Acquisitions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2888f0ff-6542-4ece-8761-d1219d6fb8df" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_e639cf68-bf89-456d-a653-7cba4850d127" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2888f0ff-6542-4ece-8761-d1219d6fb8df" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_e639cf68-bf89-456d-a653-7cba4850d127" 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-20250331.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_311d3ee4-3182-41df-9b22-1b02faf92eee" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_c4b1cf83-306f-462c-99cf-a1ab0709b94d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_311d3ee4-3182-41df-9b22-1b02faf92eee" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_c4b1cf83-306f-462c-99cf-a1ab0709b94d" 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-20250331.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_3f12a2cf-daf1-44c0-b636-23c034f3b563" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock_f3cdbfe5-6b8c-4f67-821e-42ecec6722a1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_3f12a2cf-daf1-44c0-b636-23c034f3b563" xlink:to="loc_us-gaap_LongTermDebtTextBlock_f3cdbfe5-6b8c-4f67-821e-42ecec6722a1" 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-20250331.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_cee9e4b6-4b75-4d67-ba76-dd510122cca2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_ab3523e9-eadf-4f90-a307-8bacd7cfa7d5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_cee9e4b6-4b75-4d67-ba76-dd510122cca2" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_ab3523e9-eadf-4f90-a307-8bacd7cfa7d5" 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-20250331.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_12394f29-e8af-473d-b919-7fe1c67bc958" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_e50e3e13-860a-4ec0-bc10-d4d9f18b135b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_12394f29-e8af-473d-b919-7fe1c67bc958" xlink:to="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_e50e3e13-860a-4ec0-bc10-d4d9f18b135b" 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-20250331.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_d95b6762-602c-46c4-a415-1c3e963e2caa" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_b21a8f72-5305-4efb-9ce5-21bf604fd41d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d95b6762-602c-46c4-a415-1c3e963e2caa" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_b21a8f72-5305-4efb-9ce5-21bf604fd41d" 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-20250331.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_58767c6c-ec7a-4c82-bd4b-2f5f8a3b7811" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_5e8204b0-70d8-44ec-a6d4-dc79cf493f94" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_58767c6c-ec7a-4c82-bd4b-2f5f8a3b7811" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_5e8204b0-70d8-44ec-a6d4-dc79cf493f94" 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-20250331.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_16a2fdb2-1e71-4072-b09d-ed075b4de5a5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_d70e0751-af50-4549-beee-c1ac274f03b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_16a2fdb2-1e71-4072-b09d-ed075b4de5a5" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_d70e0751-af50-4549-beee-c1ac274f03b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SubsequentEvents" xlink:type="simple" xlink:href="rock-20250331.xsd#SubsequentEvents"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_deb1dfb5-745a-475e-a9a1-367768de9838" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_2732542f-2aeb-480d-b518-57d088de5696" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_deb1dfb5-745a-475e-a9a1-367768de9838" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_2732542f-2aeb-480d-b518-57d088de5696" 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-20250331.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_ec8a4061-5915-496e-a1a0-b1489a7a9d21" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_dd647b89-f95e-4051-ae21-a95790df0dfb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_ec8a4061-5915-496e-a1a0-b1489a7a9d21" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_dd647b89-f95e-4051-ae21-a95790df0dfb" 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-20250331.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_1a36fbca-89c7-444d-8e2f-51e46fc46f6b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_575aeeb9-8d9c-4403-a116-69b2214ea799" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_1a36fbca-89c7-444d-8e2f-51e46fc46f6b" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_575aeeb9-8d9c-4403-a116-69b2214ea799" 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-20250331.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_5cc763f8-d4ec-43ab-b00b-c17a7c840f2d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_8a7ae748-abe1-4696-bef4-ff41a0c053e2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_5cc763f8-d4ec-43ab-b00b-c17a7c840f2d" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_8a7ae748-abe1-4696-bef4-ff41a0c053e2" 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-20250331.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_e3f19716-7376-478e-ba35-bfcfa89b2784" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_e2510c5b-61ef-47c0-85a0-8323ab6b3a8e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e3f19716-7376-478e-ba35-bfcfa89b2784" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_e2510c5b-61ef-47c0-85a0-8323ab6b3a8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsTables" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_fd273c58-b106-4f61-94e3-ddd6074c40c3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_b7b0ad7d-4be7-42bb-902b-c0cde1522c7d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_fd273c58-b106-4f61-94e3-ddd6074c40c3" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_b7b0ad7d-4be7-42bb-902b-c0cde1522c7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_9407ce4c-cfe9-4669-9428-2c39fb6d1094" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_fd273c58-b106-4f61-94e3-ddd6074c40c3" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_9407ce4c-cfe9-4669-9428-2c39fb6d1094" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_71731f57-36ca-401c-a9a8-86b1a86bcf0e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_fd273c58-b106-4f61-94e3-ddd6074c40c3" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_71731f57-36ca-401c-a9a8-86b1a86bcf0e" 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-20250331.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_d8a6fd1d-28e7-4b7f-9a95-77a13f220964" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_3d60077c-1ff9-4dd9-a617-d28e504ad0fa" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d8a6fd1d-28e7-4b7f-9a95-77a13f220964" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_3d60077c-1ff9-4dd9-a617-d28e504ad0fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_453c523a-d788-45e6-b306-011796e1e24c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d8a6fd1d-28e7-4b7f-9a95-77a13f220964" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_453c523a-d788-45e6-b306-011796e1e24c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_7daf5d8a-93ca-41f2-8504-ed408f09d2bc" xlink:href="rock-20250331.xsd#rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d8a6fd1d-28e7-4b7f-9a95-77a13f220964" xlink:to="loc_rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock_7daf5d8a-93ca-41f2-8504-ed408f09d2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_e94f7fb7-0ddb-4878-bf93-b4b35a24d27a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d8a6fd1d-28e7-4b7f-9a95-77a13f220964" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_e94f7fb7-0ddb-4878-bf93-b4b35a24d27a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtTables" xlink:type="simple" xlink:href="rock-20250331.xsd#LongTermDebtTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LongTermDebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_d0e73625-8402-42ab-8928-0be08f8a14d4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock_7f3145ad-0e61-4a65-9c09-c199ab286f50" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_d0e73625-8402-42ab-8928-0be08f8a14d4" xlink:to="loc_us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock_7f3145ad-0e61-4a65-9c09-c199ab286f50" 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-20250331.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_7ea84ee0-2f2d-41db-a8a7-6553cc23d93d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_3a2d7744-8e14-41dd-aa5c-09bdbfd6b167" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_7ea84ee0-2f2d-41db-a8a7-6553cc23d93d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_3a2d7744-8e14-41dd-aa5c-09bdbfd6b167" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_cd344167-7c6f-4883-b703-5da2f78d8b29" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_7ea84ee0-2f2d-41db-a8a7-6553cc23d93d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_cd344167-7c6f-4883-b703-5da2f78d8b29" 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-20250331.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_351fe2d3-101e-4704-876d-3ffb10bc7ccc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_dc0ea8dd-4623-4182-ae52-6bf5ce88fe40" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_351fe2d3-101e-4704-876d-3ffb10bc7ccc" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_dc0ea8dd-4623-4182-ae52-6bf5ce88fe40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_6885c8ee-5556-4492-b42c-a17b04763ee9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_351fe2d3-101e-4704-876d-3ffb10bc7ccc" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_6885c8ee-5556-4492-b42c-a17b04763ee9" 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-20250331.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_d8cadafe-8605-4fac-b7be-e22a2e0cd3a1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_b58362e1-bb94-4653-bd2d-21df9456e175" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d8cadafe-8605-4fac-b7be-e22a2e0cd3a1" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_b58362e1-bb94-4653-bd2d-21df9456e175" 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-20250331.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_07ec9dce-8d2a-4811-9c37-d4aa58e103ff" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d98b6b4d-470a-40ff-98b8-0c3c425d33c0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_07ec9dce-8d2a-4811-9c37-d4aa58e103ff" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d98b6b4d-470a-40ff-98b8-0c3c425d33c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_9266f0a7-12ff-427a-a4bf-ce59a379d2b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_07ec9dce-8d2a-4811-9c37-d4aa58e103ff" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_9266f0a7-12ff-427a-a4bf-ce59a379d2b3" 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-20250331.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_07b95dc1-5fbe-49d5-87b8-0e3f076f0c45" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_796fa571-f09a-4804-8aa1-3e8dffb57b45" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_07b95dc1-5fbe-49d5-87b8-0e3f076f0c45" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_796fa571-f09a-4804-8aa1-3e8dffb57b45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_fd17dcdb-d619-400d-9470-870cfc111af6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_07b95dc1-5fbe-49d5-87b8-0e3f076f0c45" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_fd17dcdb-d619-400d-9470-870cfc111af6" 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-20250331.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_779c24f4-16b2-48f6-b603-c7a8b95b4960" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_779c24f4-16b2-48f6-b603-c7a8b95b4960" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_ad1a464c-a28c-403d-b810-60a6c5c80c23" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_ad1a464c-a28c-403d-b810-60a6c5c80c23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_5c37f945-8c58-45d2-9c79-6970d8edcb93" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease_5c37f945-8c58-45d2-9c79-6970d8edcb93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_6b317f8a-fecd-4083-a5db-2eb59e6e1571" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_6b317f8a-fecd-4083-a5db-2eb59e6e1571" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments_a43aab53-1375-4b6e-a51f-17f2b8ecdecd" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPayments_a43aab53-1375-4b6e-a51f-17f2b8ecdecd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrual_8a16adb1-25d9-435a-89dd-ac90c34786a4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandardProductWarrantyAccrual"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_c3bc7d66-a37c-48af-a656-77ef2845a757" xlink:to="loc_us-gaap_StandardProductWarrantyAccrual_8a16adb1-25d9-435a-89dd-ac90c34786a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="rock-20250331.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_f20dbe2f-19c2-478f-9fba-569d1e77987d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_f20dbe2f-19c2-478f-9fba-569d1e77987d" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_08733c67-7452-462b-bb9e-de448122a64c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_08733c67-7452-462b-bb9e-de448122a64c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_6eb7376a-3295-4e82-a33b-6de69c9077dc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_6eb7376a-3295-4e82-a33b-6de69c9077dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_0e9a7b8d-afc4-4717-ae69-4d4ac7d1f187" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_0e9a7b8d-afc4-4717-ae69-4d4ac7d1f187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_ffe1cf51-a7f0-4c68-ac0c-e38dbe0e8eca" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_8e9fcb39-28a0-4fbd-9754-277aff23c502" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_ffe1cf51-a7f0-4c68-ac0c-e38dbe0e8eca" 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-20250331.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_fecf5975-0347-46d6-bfb7-4f2a98dce4df" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_fecf5975-0347-46d6-bfb7-4f2a98dce4df" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_512b1fdf-1e52-4556-8d17-61a9ade68952" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_512b1fdf-1e52-4556-8d17-61a9ade68952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_54199ba5-6017-4d23-8ef5-6b02173aff8f" xlink:to="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_d9b8decd-c33b-4025-9c67-bd001f961120" xlink:to="loc_srt_MaximumMember_d5130770-8750-4a55-946b-1e4042bb1978" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_128fa14c-6c7a-4b76-89dc-1e232e882534" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_f586271d-9c87-41d4-844d-dfb047034c6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue_b3c277a0-6c12-4cc2-8b8e-26b8eaaff7f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:href="rock-20250331.xsd#rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_567c9d9e-c496-40bd-b75e-87a32d8d6bf5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_b39e1e5f-24be-4f25-849a-513c2cbb805e" xlink:to="loc_us-gaap_ContractWithCustomerLiability_ea419d38-afec-4933-b699-ab2f539be7f4" 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-20250331.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_b671eca5-38e9-4e92-9685-9462cb3f466e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_c0272ee8-b89c-43c5-bcba-cd6429a67c1f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_b671eca5-38e9-4e92-9685-9462cb3f466e" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_c0272ee8-b89c-43c5-bcba-cd6429a67c1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_72ecc4e5-35fa-46f9-b8d5-3ea37811fb98" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_b671eca5-38e9-4e92-9685-9462cb3f466e" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_72ecc4e5-35fa-46f9-b8d5-3ea37811fb98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_e649e2b5-d342-4c0b-abcb-3d43d0537e91" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_b671eca5-38e9-4e92-9685-9462cb3f466e" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_e649e2b5-d342-4c0b-abcb-3d43d0537e91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_0768eef3-ba33-455d-979d-dbf24240cdc9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_b671eca5-38e9-4e92-9685-9462cb3f466e" xlink:to="loc_us-gaap_InventoryNet_0768eef3-ba33-455d-979d-dbf24240cdc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_3be69def-46ef-466d-b64d-7bfa8fc562c8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_3be69def-46ef-466d-b64d-7bfa8fc562c8" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b253d1cf-d8de-4832-a615-09b9bb267a06" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_e30983f3-da4d-4e20-a232-8809418946a2" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_LaneSupplyMember_e30983f3-da4d-4e20-a232-8809418946a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoPrivatelyHeldBusinessesMember_dcb0a4ce-365e-4efc-84ce-3590f6a18e9c" xlink:href="rock-20250331.xsd#rock_TwoPrivatelyHeldBusinessesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_TwoPrivatelyHeldBusinessesMember_dcb0a4ce-365e-4efc-84ce-3590f6a18e9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_0fa23aef-7999-478c-9b06-ae19d5bb154a" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_0fa23aef-7999-478c-9b06-ae19d5bb154a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2025AcquisitionsMember_312a5799-fc5c-451a-9f28-05245365b8ed" xlink:href="rock-20250331.xsd#rock_A2025AcquisitionsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d1068757-efbe-4758-a5c7-c4ee7a8e46fe" xlink:to="loc_rock_A2025AcquisitionsMember_312a5799-fc5c-451a-9f28-05245365b8ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5540e14f-9173-4d13-8674-c8fc5acb8948" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_dcf51229-5483-491c-8a6b-18a561623efe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_dcf51229-5483-491c-8a6b-18a561623efe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_e4b19069-6e27-40f2-9a57-79d2281521c9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_Goodwill_e4b19069-6e27-40f2-9a57-79d2281521c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_34065755-6b49-47b9-a2ed-1800380af7a7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_eb17bcf4-0838-41ae-9653-28647223feeb" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_34065755-6b49-47b9-a2ed-1800380af7a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_915195fc-3be9-464a-8fb6-10a56c89edfc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_915195fc-3be9-464a-8fb6-10a56c89edfc" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_bac2223e-fede-43d3-beb5-6479ff30197e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_7bf7ce77-e24c-4d08-96ad-bf1e2ef59acc" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:to="loc_rock_LaneSupplyMember_7bf7ce77-e24c-4d08-96ad-bf1e2ef59acc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_cd58d442-990f-468d-89b4-eb866c672a24" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a70e5062-21f2-4242-8974-a19cb2c5affe" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_cd58d442-990f-468d-89b4-eb866c672a24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_6f6c2d69-805c-480a-8390-d98054459169" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_4ad62796-c676-4aad-9de5-005e5bb8a923" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_4ad62796-c676-4aad-9de5-005e5bb8a923" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_aee6de3a-ba1f-4b98-9404-72951f079f25" xlink:href="rock-20250331.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_aee6de3a-ba1f-4b98-9404-72951f079f25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_af0fb87c-a241-40a5-a657-4ad246dcac09" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_af0fb87c-a241-40a5-a657-4ad246dcac09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_9a2103c8-c1a4-4e8f-9aa2-749591d89837" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_9a2103c8-c1a4-4e8f-9aa2-749591d89837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_4a53ddae-6c04-4fd8-8442-ecbb086c2c33" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_4a53ddae-6c04-4fd8-8442-ecbb086c2c33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_4900aa71-4fa6-418d-85b4-f96049eeb2b9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_4900aa71-4fa6-418d-85b4-f96049eeb2b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_0f79118a-f01b-4e98-b146-a49a1e3d2df1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_Goodwill_0f79118a-f01b-4e98-b146-a49a1e3d2df1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_94cf31ed-30a8-4c23-98ad-8fd3fbe0c55c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_ecc8a169-9fc8-4e1c-ba42-e686bd7153d2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_94cf31ed-30a8-4c23-98ad-8fd3fbe0c55c" 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-20250331.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_06e3452b-6fec-40f7-9c7f-d862991a2a75" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_06e3452b-6fec-40f7-9c7f-d862991a2a75" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1c2367e8-80b8-4a83-b322-75673957f205" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_ebcbfad4-476f-4c76-a01c-f7b1685231c8" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:to="loc_rock_LaneSupplyMember_ebcbfad4-476f-4c76-a01c-f7b1685231c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoMetalRoofingBusinessesMember_05e81f46-c227-464a-a6f4-789dbd7e8cd3" xlink:href="rock-20250331.xsd#rock_TwoMetalRoofingBusinessesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_50ccd797-ead4-40ec-89c3-467e8a5d5b6b" xlink:to="loc_rock_TwoMetalRoofingBusinessesMember_05e81f46-c227-464a-a6f4-789dbd7e8cd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d5180b71-9f20-4e13-935b-9d91b2e472e5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_6c174f62-c688-44db-94d4-41dd652d6fe7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_us-gaap_TrademarksMember_6c174f62-c688-44db-94d4-41dd652d6fe7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_f926d732-bcc1-4d55-be0a-da6f0103d9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_us-gaap_CustomerRelationshipsMember_f926d732-bcc1-4d55-be0a-da6f0103d9bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BacklogMember_11e68fff-10b8-4be2-a053-8a8d3032c9a0" xlink:href="rock-20250331.xsd#rock_BacklogMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d9b7df69-6b6a-405b-8016-61856646521c" xlink:to="loc_rock_BacklogMember_11e68fff-10b8-4be2-a053-8a8d3032c9a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_7cfd103f-90a2-4a1d-ab26-52af0a0dac8e" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_a2f91eba-9822-413b-b732-4b35a414e9e3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_a2f91eba-9822-413b-b732-4b35a414e9e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_0c00e5f3-5fb0-46c2-9aac-adbc4f4db7eb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7a28f563-a601-4abc-8cfd-cffcac96f9bc" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_0c00e5f3-5fb0-46c2-9aac-adbc4f4db7eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_86715f16-931e-416c-8fae-deb7b937bc6d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_86715f16-931e-416c-8fae-deb7b937bc6d" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_85456863-322f-4595-9ce9-6d71fba37811" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LaneSupplyMember_0c331663-f0f8-4f28-8ab2-cc8ddc708692" xlink:href="rock-20250331.xsd#rock_LaneSupplyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_55f94a8e-a176-4506-9a44-a7d0c65fd871" xlink:to="loc_rock_LaneSupplyMember_0c331663-f0f8-4f28-8ab2-cc8ddc708692" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1f72bbaf-44ff-4c7d-b5bc-afe53b4e12fb" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cee3bbc9-f1be-4244-91cf-8a0686adfd9d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cee3bbc9-f1be-4244-91cf-8a0686adfd9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_9a6d0b15-97c3-4496-ab5a-c8035831a6e4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2f932a5b-4e75-42e4-a4c1-371fe40c76ae" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_9a6d0b15-97c3-4496-ab5a-c8035831a6e4" 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-20250331.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_b3e7796e-c727-470e-ae6a-7736c674ad54" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b3e7796e-c727-470e-ae6a-7736c674ad54" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16e6e922-822c-471a-aa29-3e7df4eb1f3b" xlink:to="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_d02d4884-e29e-48a6-a125-8da5d6bdaa84" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_ResidentialProductsMember_d02d4884-e29e-48a6-a125-8da5d6bdaa84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_b4ebd172-0deb-4ab1-8b5f-ef7710d0fd36" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_AgtechMember_b4ebd172-0deb-4ab1-8b5f-ef7710d0fd36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_5096e21f-9578-4439-be18-2258c010daca" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_RenewablesMember_5096e21f-9578-4439-be18-2258c010daca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_1bf38015-9389-4bbd-a289-9520b750f204" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6348946c-e558-4c50-a5d3-56145116d16e" xlink:to="loc_rock_InfrastructureMember_1bf38015-9389-4bbd-a289-9520b750f204" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_2a3603ad-40ad-4615-81a6-e7e6e75f6c35" xlink:to="loc_us-gaap_GoodwillLineItems_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_6d1ff002-aff1-4ca9-821b-09a3aa824d63" xlink:to="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a1541508-7fe2-4f43-bbd1-37d10f2d703c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_Goodwill_a1541508-7fe2-4f43-bbd1-37d10f2d703c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_adcdfe1b-2176-45a8-8523-a3513136b4d3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_adcdfe1b-2176-45a8-8523-a3513136b4d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fb9e4c71-17ff-43f8-974e-1ec51528e763" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fb9e4c71-17ff-43f8-974e-1ec51528e763" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_18dd77bf-3d9d-4f58-8079-3d158cb5bc5e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_6c135a15-ca85-41de-92e0-cd41699d71f1" xlink:to="loc_us-gaap_Goodwill_18dd77bf-3d9d-4f58-8079-3d158cb5bc5e" 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-20250331.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_fb55a5d9-d244-42b4-bb86-d8294624d656" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_b3763887-e9fc-45da-b178-a8ec0caa1b72" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_fb55a5d9-d244-42b4-bb86-d8294624d656" xlink:to="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_b3763887-e9fc-45da-b178-a8ec0caa1b72" 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-20250331.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_7bca0dcc-7633-4aa6-9895-fa57aef06b52" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_7bca0dcc-7633-4aa6-9895-fa57aef06b52" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_51cebb01-486c-422c-8f5f-a7497739fdc3" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_64c063f2-01b0-4492-b1d8-75f24972f5b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_470363eb-99ee-4bcb-9b31-b8fcc9218807" xlink:to="loc_us-gaap_TrademarksMember_64c063f2-01b0-4492-b1d8-75f24972f5b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_d29715d7-2a34-43ba-b962-7dd24a85a309" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BacklogMember_0d2c79c7-6fe4-47fc-9632-8546ef18b8fb" xlink:href="rock-20250331.xsd#rock_BacklogMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_rock_BacklogMember_0d2c79c7-6fe4-47fc-9632-8546ef18b8fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_b7c08d26-6a25-4fdd-a2c5-ef4c209738f5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_TrademarksMember_b7c08d26-6a25-4fdd-a2c5-ef4c209738f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_a612d7b3-38b0-4b5d-b92d-7ceff65ea01e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnpatentedTechnologyMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_a612d7b3-38b0-4b5d-b92d-7ceff65ea01e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_96ab1ef7-6f86-4409-bb91-a60ddc5c3f86" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_CustomerRelationshipsMember_96ab1ef7-6f86-4409-bb91-a60ddc5c3f86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_8fad8c43-b3d9-4877-a9f8-8ea26915948d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fb19238e-fd24-4388-9d16-83a1b85d05eb" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_8fad8c43-b3d9-4877-a9f8-8ea26915948d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3110a4c1-4efa-4353-907b-27e80342d936" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2ea54268-789f-467f-b20e-291f651904b7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2ea54268-789f-467f-b20e-291f651904b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a60809c2-a5b4-4515-a141-093d177781b0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_a60809c2-a5b4-4515-a141-093d177781b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_6df3f199-d309-4585-b635-952d3450f92a" xlink:href="rock-20250331.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_6df3f199-d309-4585-b635-952d3450f92a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_73192d86-13ee-4944-88ff-3ead99dfcdb6" xlink:href="rock-20250331.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_73192d86-13ee-4944-88ff-3ead99dfcdb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f1d98a50-1e5b-467b-9bb2-89a9fa1aef20" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_f1d98a50-1e5b-467b-9bb2-89a9fa1aef20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_91976e22-6eec-4db4-a484-18c4868677f8" xlink:href="rock-20250331.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_a94ba32c-13ab-431d-99cb-381aed234e26" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_91976e22-6eec-4db4-a484-18c4868677f8" 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-20250331.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_ffef67e7-b392-4900-a085-f2f36f006ca1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_f0d2192d-616a-40e5-86d3-69f3eda437d3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_ffef67e7-b392-4900-a085-f2f36f006ca1" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_f0d2192d-616a-40e5-86d3-69f3eda437d3" 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-20250331.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_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_e5a131a4-81ec-4981-b3c5-14203341292b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_e5a131a4-81ec-4981-b3c5-14203341292b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5a7ddead-9eba-42dd-b95b-a745d5fd41a5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5a7ddead-9eba-42dd-b95b-a745d5fd41a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_b379f028-f6f6-4d6f-9af8-7f0c07df93b4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_b379f028-f6f6-4d6f-9af8-7f0c07df93b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_6359bed9-18f3-430d-8e8b-481571c99c11" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_6359bed9-18f3-430d-8e8b-481571c99c11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_59c7cb92-6fa9-4270-8516-439243f13384" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_59c7cb92-6fa9-4270-8516-439243f13384" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_71b91713-62a5-4e5d-a292-e94cae5d3545" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4a1d7863-7709-4ddf-b231-901f436183a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_71b91713-62a5-4e5d-a292-e94cae5d3545" 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-20250331.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_adf898f6-ba74-4666-9774-9e425623786d" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_adf898f6-ba74-4666-9774-9e425623786d" xlink:to="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_b420b194-a682-4069-9229-d8ee7d17ffc6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_d04514d1-e53e-461e-8c7c-97171a09864b" xlink:href="rock-20250331.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_d04514d1-e53e-461e-8c7c-97171a09864b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_7c967c97-ebae-4daa-96f4-4d248991a266" xlink:href="rock-20250331.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_490f245d-88de-4388-a5f7-71061b1d6345" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_7c967c97-ebae-4daa-96f4-4d248991a266" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_2528f8a1-8596-4c27-a88c-26c374741b61" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_6cfbfd47-2806-4a09-800f-f04dfc24c69b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:to="loc_us-gaap_LineOfCreditMember_6cfbfd47-2806-4a09-800f-f04dfc24c69b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_608246e2-a197-4bca-bd1a-34d143f5fc7b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MediumTermNotesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_a9a338b5-17d9-4963-a59b-55d31b463ac6" xlink:to="loc_us-gaap_MediumTermNotesMember_608246e2-a197-4bca-bd1a-34d143f5fc7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:href="rock-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:href="rock-20250331.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_89a3ee09-1ce9-48c2-b224-aae85acb377c" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_3191a946-64e3-401a-bee1-05d2c1a4512b" xlink:href="rock-20250331.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_de19ff14-ae0b-4553-aac4-40c9ea0f69f9" xlink:to="loc_rock_ApplicableRatePeriod2Member_3191a946-64e3-401a-bee1-05d2c1a4512b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_6517aadc-77be-4e56-a253-903e8044b066" xlink:to="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_49ece585-6afb-40c0-aa5f-bdc856fea0f7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BaseRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_us-gaap_BaseRateMember_49ece585-6afb-40c0-aa5f-bdc856fea0f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ForeignCurrencyRateFloorMember_86d37186-1115-424d-8bdb-74d785286be6" xlink:href="rock-20250331.xsd#rock_ForeignCurrencyRateFloorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_rock_ForeignCurrencyRateFloorMember_86d37186-1115-424d-8bdb-74d785286be6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_5d5fa0da-32dd-42f0-b2fc-f20ccc54004f" xlink:href="rock-20250331.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_6fd33246-874b-41f7-ac2a-f769de2c5a50" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_5d5fa0da-32dd-42f0-b2fc-f20ccc54004f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_30c38c3e-1daf-4c6a-ba06-37bf5b6318ee" xlink:to="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9c2f86dc-3b2c-49ac-a015-f2ba251e6475" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:to="loc_srt_MinimumMember_9c2f86dc-3b2c-49ac-a015-f2ba251e6475" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b6f432c6-f2c0-4af9-aa11-55d0da426e5e" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_c1f979c1-931e-440b-8c30-7917267b4f16" xlink:to="loc_srt_MaximumMember_b6f432c6-f2c0-4af9-aa11-55d0da426e5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_09f050a8-1416-4c5a-8846-a38fedc85bb7" xlink:to="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_871b8f23-488d-4ac4-bdb9-db335144c21b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LongTermDebt_871b8f23-488d-4ac4-bdb9-db335144c21b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_c5c0f37b-f22c-4999-afbf-4a27c0b22d40" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_c5c0f37b-f22c-4999-afbf-4a27c0b22d40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_2a482ffb-89f3-43e1-8574-b6aacdad54ac" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_2a482ffb-89f3-43e1-8574-b6aacdad54ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_bbdd497c-b518-43af-8267-029e0174bc1a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_bbdd497c-b518-43af-8267-029e0174bc1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_2b1884af-6a82-42e9-8f6e-794063f06d78" xlink:href="rock-20250331.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_2b1884af-6a82-42e9-8f6e-794063f06d78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_ec67d00e-ca15-4727-a42f-081441ec1844" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_ec67d00e-ca15-4727-a42f-081441ec1844" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_177cc6b6-532c-4cc8-8949-a60754a904ee" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_177cc6b6-532c-4cc8-8949-a60754a904ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_8e5e6d5f-20a8-48e4-9cf4-0e632ea777ec" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_27a422ab-6dc2-441d-867b-b324fb741132" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_8e5e6d5f-20a8-48e4-9cf4-0e632ea777ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#LongTermDebtScheduleofLongtermDebtDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_2870c425-83ff-4971-8586-bab444f4dac8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_2870c425-83ff-4971-8586-bab444f4dac8" xlink:to="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:to="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_4d3a64fe-5564-4d34-ae39-f7b818c1a79e" xlink:to="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_4b83ead7-98e0-41eb-85fe-c17c0cf87d8b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_4b83ead7-98e0-41eb-85fe-c17c0cf87d8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_b1c9c7e7-4d4f-4313-815b-5d999ae12765" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StandbyLettersOfCreditMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_d5be7367-c2f0-4294-9a75-b2b2733809f9" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_b1c9c7e7-4d4f-4313-815b-5d999ae12765" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_2abd6651-1f0a-49e8-8a70-676b6e277c06" xlink:to="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_a231c209-9f9a-4bf4-b31c-30d39678652e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_a231c209-9f9a-4bf4-b31c-30d39678652e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_79e88334-c18b-4997-a340-809682b7e4d9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_79e88334-c18b-4997-a340-809682b7e4d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_11efe670-0d57-4b5c-ab2d-7376a30fde9b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_8a607d87-7e17-4b6e-98a4-8906b68732bf" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_11efe670-0d57-4b5c-ab2d-7376a30fde9b" 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-20250331.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_ccf1ec61-6820-4b51-b856-586dcd113514" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_ccf1ec61-6820-4b51-b856-586dcd113514" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:to="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_f3490daa-198d-4d40-bccc-8cbd924767be" xlink:to="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_0910c94b-492b-467d-b626-53b2a2557e13" xlink:href="rock-20250331.xsd#rock_Amended2018PlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:to="loc_rock_Amended2018PlanMember_0910c94b-492b-467d-b626-53b2a2557e13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_c05b265a-8538-49c9-a0bf-b4c36a13d80f" xlink:href="rock-20250331.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_39278ef5-9710-424c-bc42-5c8e0d6487ef" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_c05b265a-8538-49c9-a0bf-b4c36a13d80f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:to="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_fdef0377-6579-4dd0-84ab-c5e5efe17243" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_0673568e-02c7-46c2-86a3-150b1d58a798" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4cf3e5a9-314b-44ed-a177-9e163012d598" xlink:to="loc_us-gaap_CommonStockMember_0673568e-02c7-46c2-86a3-150b1d58a798" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d40dc9e7-f367-4ebe-bbeb-5e2baafbb42c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_49c52a03-e2b7-4740-a56b-da391578edb4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_88692c5f-5efa-4068-bad4-5b7f25ce86ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_49c52a03-e2b7-4740-a56b-da391578edb4" 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-20250331.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_84eb5762-db45-402d-8c4e-b79b7710c9b3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_84eb5762-db45-402d-8c4e-b79b7710c9b3" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:to="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_63ba2e30-7f9d-4c0a-95be-a52be093b322" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_d6d2f600-f3a6-46ce-8f0a-24c5f790f171" xlink:to="loc_us-gaap_PlanNameDomain_63ba2e30-7f9d-4c0a-95be-a52be093b322" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:to="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_be696a81-fdd6-4aba-9d8d-c9189bc4a7c6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_a834b89c-652a-46c2-b04c-8e42b8abe97f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:to="loc_us-gaap_PerformanceSharesMember_a834b89c-652a-46c2-b04c-8e42b8abe97f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_6d6a82b8-2c0e-40a2-912e-10e1f26b989c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0c9380a2-b17f-4bb5-bcaa-802e837cca5f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_6d6a82b8-2c0e-40a2-912e-10e1f26b989c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2452e4e-fc0e-4d29-969c-eb42bbbbcbe8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d8c5d62f-397e-4836-9764-bf9a0af2d486" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d8c5d62f-397e-4836-9764-bf9a0af2d486" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1550e89e-f743-434e-b4a8-a0b4435ab8fe" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1550e89e-f743-434e-b4a8-a0b4435ab8fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_5064faa2-a9e7-4fa4-9db0-3590fc78dd26" xlink:href="rock-20250331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted_5064faa2-a9e7-4fa4-9db0-3590fc78dd26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_262323d9-16b6-4679-81b1-6853985a7acf" xlink:href="rock-20250331.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e73e6c3-2cf9-4f32-8970-4193a25f1227" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount_262323d9-16b6-4679-81b1-6853985a7acf" 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-20250331.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_a48a7f58-1907-41e0-a390-377b350bb9fd" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_a48a7f58-1907-41e0-a390-377b350bb9fd" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_71ec238e-3ee0-49db-89ec-c9ddc20a2836" xlink:to="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_e5078361-d79e-4aa2-91e6-24e2013ec61f" xlink:href="rock-20250331.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_49298480-8b9c-43fc-9745-15f5fd736fcc" xlink:to="loc_rock_ManagementStockPurchasePlanMember_e5078361-d79e-4aa2-91e6-24e2013ec61f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_71f3e60c-971b-4c1d-8fac-be2426158261" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_96199e0f-4567-4b38-9abb-674b26025500" xlink:href="rock-20250331.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:to="loc_rock_NonCurrentLiabilitiesMember_96199e0f-4567-4b38-9abb-674b26025500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_6ae76bcb-d0c9-4bcf-b9a8-c7b80cf4021d" xlink:href="rock-20250331.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_bc914abe-d810-45fa-8f26-fc05ca6d3e68" xlink:to="loc_rock_AccruedExpensesCurrentMember_6ae76bcb-d0c9-4bcf-b9a8-c7b80cf4021d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_e5cf5c9a-6ed3-4811-a179-b28b16adb569" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_9cc4074b-09c6-45ab-b8b0-9320429e229b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_137a6efc-7dfb-4cc3-a3e7-a7e4dc472cd9" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_9cc4074b-09c6-45ab-b8b0-9320429e229b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6f656a81-0b0e-488b-a0f5-f38001fd1d40" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_2023e427-834a-47f4-b460-c07614dc75fa" xlink:href="rock-20250331.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_rock_AccruedEquityBasedCompensation_2023e427-834a-47f4-b460-c07614dc75fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_64775df9-d02d-44e7-9d23-44b77ac65042" xlink:href="rock-20250331.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_64775df9-d02d-44e7-9d23-44b77ac65042" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_04582f7e-4d9a-4825-a338-a174dbaca5a8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_04582f7e-4d9a-4825-a338-a174dbaca5a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_c0702b6d-d79c-4ba7-ae9f-870d61ba8a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9d0506a2-eae8-4ba9-8638-1787f148fce0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_c0702b6d-d79c-4ba7-ae9f-870d61ba8a9a" 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-20250331.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_30d8cb57-bd48-4090-80a4-dbd6fea1aa58" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_30d8cb57-bd48-4090-80a4-dbd6fea1aa58" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:to="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_a7119886-10c7-4f3e-bc28-1c0ef179aa35" xlink:to="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_bf46dfd6-7ce1-42a9-a8a6-420cce8e55ff" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:to="loc_us-gaap_OperatingSegmentsMember_bf46dfd6-7ce1-42a9-a8a6-420cce8e55ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_3899d1e3-3cd2-4800-bb0b-396d9c8672e8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_e2a7bf1f-e705-48e5-8518-1666af59c852" xlink:to="loc_us-gaap_CorporateNonSegmentMember_3899d1e3-3cd2-4800-bb0b-396d9c8672e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_69c60f6a-ccd8-4853-aa1e-854c9c56396f" xlink:to="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_42fa55f2-5b79-4d6d-8ea5-9865437cb72b" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_ResidentialProductsMember_42fa55f2-5b79-4d6d-8ea5-9865437cb72b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_e76c0c1c-896a-4889-9fe3-b4f0987b57cf" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_AgtechMember_e76c0c1c-896a-4889-9fe3-b4f0987b57cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_57ab3989-8d34-4478-b194-452696a29709" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_RenewablesMember_57ab3989-8d34-4478-b194-452696a29709" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_97991736-53c7-4142-8f10-fc743c0b6e50" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_6f095d5b-2a9a-44bf-a00e-322b71196e41" xlink:to="loc_rock_InfrastructureMember_97991736-53c7-4142-8f10-fc743c0b6e50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_a47ebf87-745e-4eb9-a47f-1dfc0d4d43c4" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_769ef19b-8329-4671-8a9a-dc96e99d1a75" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_BusinessExitCosts1_769ef19b-8329-4671-8a9a-dc96e99d1a75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_20426850-c7b6-45cb-9ddb-03a66ba38f27" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_20426850-c7b6-45cb-9ddb-03a66ba38f27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_082d0e22-823f-4c93-a6e2-ebf3d06674bb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_8b65656c-2af5-483d-9a6e-d5d40439e773" xlink:to="loc_us-gaap_RestructuringCharges_082d0e22-823f-4c93-a6e2-ebf3d06674bb" 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-20250331.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_d57c059f-0055-4b74-853a-3b6fc35d7cd9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_d57c059f-0055-4b74-853a-3b6fc35d7cd9" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_97005862-27c3-4f4b-8f91-cf8c7d0da335" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_a62c632f-6c24-484a-89aa-a016982ba679" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:to="loc_us-gaap_CostOfSalesMember_a62c632f-6c24-484a-89aa-a016982ba679" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_61bc0eb1-b45b-4a30-a362-793d79380201" xlink:href="rock-20250331.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_34fcbd99-7fa7-4fff-be4f-f2e81cf494fb" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_61bc0eb1-b45b-4a30-a362-793d79380201" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_1f06eb12-ffe3-459b-8cfc-ffb0f865a8e0" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_54557295-035f-4857-86b8-2a5b3403bd54" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_a80eabe3-b4e9-479e-adfa-26cf9a8c45b5" xlink:to="loc_us-gaap_RestructuringCharges_54557295-035f-4857-86b8-2a5b3403bd54" 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-20250331.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_2278bf14-9f0e-4c27-a2e3-3a9aa42b7aa8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_2278bf14-9f0e-4c27-a2e3-3a9aa42b7aa8" xlink:to="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_e3a11feb-78a4-47e5-9533-a45ebb5a9a8c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:to="loc_us-gaap_RestructuringReserve_e3a11feb-78a4-47e5-9533-a45ebb5a9a8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_50dc0940-5496-4f37-945e-c4261375947f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:to="loc_us-gaap_BusinessExitCosts1_50dc0940-5496-4f37-945e-c4261375947f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_86a39476-4d90-4e2c-b092-14c4cf639718" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:to="loc_us-gaap_PaymentsForRestructuring_86a39476-4d90-4e2c-b092-14c4cf639718" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_38353b2e-4434-4828-ae05-21c3e8a680be" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_0422f968-f1e9-4214-be8a-2938d717e5df" xlink:to="loc_us-gaap_RestructuringReserve_38353b2e-4434-4828-ae05-21c3e8a680be" 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-20250331.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_7bd75a64-d9d5-4ffd-a69f-432d9e50c24e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_8da5ca5e-3025-4c25-a2ef-18464a6e5488" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7bd75a64-d9d5-4ffd-a69f-432d9e50c24e" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_8da5ca5e-3025-4c25-a2ef-18464a6e5488" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_b3a2d066-0b8c-4570-809d-70364ef01466" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7bd75a64-d9d5-4ffd-a69f-432d9e50c24e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_b3a2d066-0b8c-4570-809d-70364ef01466" 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-20250331.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_b6f933ee-9eb9-4a24-a2fa-86dbc9ae5410" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_3321a54b-1dc2-4047-89e4-9990bc0fe134" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_b6f933ee-9eb9-4a24-a2fa-86dbc9ae5410" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_3321a54b-1dc2-4047-89e4-9990bc0fe134" 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-20250331.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_c5ebaf41-61d3-45f9-ba1a-8e632e2428bd" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c5ebaf41-61d3-45f9-ba1a-8e632e2428bd" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ba3da69-fda3-4dca-9ddd-8665b0ce23f9" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_2d966724-227c-4d0d-8046-58bc961b22f0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_407c2a77-a658-4f91-80f2-e0f6adf1487e" xlink:to="loc_us-gaap_CommonStockMember_2d966724-227c-4d0d-8046-58bc961b22f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_64759072-e6d1-493c-98d9-e4a3d4d75941" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_aa219bb8-5473-4b2a-a5a7-c8fd793729bc" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_aa219bb8-5473-4b2a-a5a7-c8fd793729bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_41eb8279-7253-4786-b9b6-c69cddb01f10" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_41eb8279-7253-4786-b9b6-c69cddb01f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_99b82fbc-be7a-4234-9e6f-dca53799f7b8" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_99b82fbc-be7a-4234-9e6f-dca53799f7b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_74187cba-6be5-40db-b6c6-62f27b9f7210" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2134fb30-1e9c-46fa-b899-48a54b19015a" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_74187cba-6be5-40db-b6c6-62f27b9f7210" 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-20250331.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_58a58342-a6f4-403e-a600-9ea712cb9e50" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_58a58342-a6f4-403e-a600-9ea712cb9e50" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:to="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_eeeda1ad-7458-4ed1-97bd-119f2fb4d3de" xlink:to="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_6c219710-200e-464a-9a45-3d14f43bb5f3" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:to="loc_us-gaap_OperatingSegmentsMember_6c219710-200e-464a-9a45-3d14f43bb5f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_fb62e1de-4411-42cf-a583-bbf9af1b746e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_2993a4a0-874c-4ec3-87d9-f177739c734d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_fb62e1de-4411-42cf-a583-bbf9af1b746e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_72d12e59-38b0-4f28-ae5b-24f1c165ac52" xlink:to="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_115d303a-e4b2-4276-87f1-109a69688549" xlink:href="rock-20250331.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_ResidentialMember_115d303a-e4b2-4276-87f1-109a69688549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_e82062fc-78f5-4322-a489-772d5a226371" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_AgtechMember_e82062fc-78f5-4322-a489-772d5a226371" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_f325cdc3-73cd-4fec-a77a-d7b0add26879" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_RenewablesMember_f325cdc3-73cd-4fec-a77a-d7b0add26879" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_16cf2abc-9979-4a32-8ca2-06dfa28894cb" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_InfrastructureMember_16cf2abc-9979-4a32-8ca2-06dfa28894cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialProductsMember_989aad70-86d9-400d-ab97-7d93f6e84eca" xlink:href="rock-20250331.xsd#rock_ResidentialProductsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5fa5e809-6f9c-47c4-bf6f-8c25417c9841" xlink:to="loc_rock_ResidentialProductsMember_989aad70-86d9-400d-ab97-7d93f6e84eca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_10b0f5df-b387-4844-bad0-19d49c5be450" xlink:to="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_e2b330aa-0b2a-4949-8f4b-3f4ffde040a7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_NumberOfReportableSegments_e2b330aa-0b2a-4949-8f4b-3f4ffde040a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_f06f5ea7-bfae-4c1c-b7f2-5abd46c23b3a" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_Revenues_f06f5ea7-bfae-4c1c-b7f2-5abd46c23b3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_3f124183-a596-46e6-9b03-45f0bfd7c563" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OperatingExpenses_3f124183-a596-46e6-9b03-45f0bfd7c563" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_4bfcb826-97e4-4a05-af53-4e87f6604fdd" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OperatingIncomeLoss_4bfcb826-97e4-4a05-af53-4e87f6604fdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_92af3e70-17b6-46e4-8ee8-dc8513cbf381" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_92af3e70-17b6-46e4-8ee8-dc8513cbf381" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome_a7808332-5fa6-4d04-8013-fd2ec1dc49c9" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_OtherIncome_a7808332-5fa6-4d04-8013-fd2ec1dc49c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_61cb2415-aa3b-48f1-9aa6-12f4725a1b77" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_61cb2415-aa3b-48f1-9aa6-12f4725a1b77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_c89fec5e-b38c-4515-85e7-f8bc048e8a62" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_c89fec5e-b38c-4515-85e7-f8bc048e8a62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_b5ee37fc-60ab-4b8d-a81e-4b65e24daf2e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_c9e4bdff-cca2-45b0-8081-e7ad7a309e6e" xlink:to="loc_us-gaap_Assets_b5ee37fc-60ab-4b8d-a81e-4b65e24daf2e" 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-20250331.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_0cbd56dd-1e60-4fb4-80bd-37027703ac05" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_0cbd56dd-1e60-4fb4-80bd-37027703ac05" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_b8f0a54a-723f-47e2-a2dd-de392c61e7f1" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_f454f58b-c47b-4667-ab12-a9aad4643780" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_f454f58b-c47b-4667-ab12-a9aad4643780" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_d2c122c5-2413-4444-b89a-9327cd8ec115" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_188598b4-2f19-40b7-b6c8-245525f9ea26" xlink:to="loc_us-gaap_TransferredOverTimeMember_d2c122c5-2413-4444-b89a-9327cd8ec115" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_893475f0-dc03-472f-8039-7b8c831b466e" xlink:to="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_da87d684-77ef-43b4-8d07-acbe4ef601d4" xlink:href="rock-20250331.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_ResidentialMember_da87d684-77ef-43b4-8d07-acbe4ef601d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_d5b4a77a-1256-47f5-adf2-e304795275f7" xlink:href="rock-20250331.xsd#rock_AgtechMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_AgtechMember_d5b4a77a-1256-47f5-adf2-e304795275f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_2cfcf2ed-5912-441f-85a6-a49716e84f53" xlink:href="rock-20250331.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_RenewablesMember_2cfcf2ed-5912-441f-85a6-a49716e84f53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_647a483c-24e6-4ecd-b017-7468f241da15" xlink:href="rock-20250331.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_ab2238f9-a866-4c1e-8a56-7962e5668c4c" xlink:to="loc_rock_InfrastructureMember_647a483c-24e6-4ecd-b017-7468f241da15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_505dd885-0ef0-4d57-b2f3-96881a090f8f" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_3d1ee2f8-4d62-4361-a169-97ef62f49573" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_9d312ab6-7394-47bb-9ec1-5905b215aded" xlink:to="loc_us-gaap_Revenues_3d1ee2f8-4d62-4361-a169-97ef62f49573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="rock-20250331.xsd#SubsequentEventsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_d644fe73-e176-41c0-a0cd-630cf3ef7d2b" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_d644fe73-e176-41c0-a0cd-630cf3ef7d2b" xlink:to="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_366e81bc-2fb2-431f-9821-4129294f30f6" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_059ff657-995e-4144-984a-aff40ff860c7" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_42f2c1e3-9f18-4a20-a893-6030e762b171" xlink:to="loc_us-gaap_SubsequentEventMember_059ff657-995e-4144-984a-aff40ff860c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:to="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ShareRepurchaseProgramAxis_3243a231-0b85-47b9-901c-f5203e82b11a" xlink:to="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NewShareRepurchaseProgramMember_99aaeec7-e852-48a8-a96c-f7d1e1d9985f" xlink:href="rock-20250331.xsd#rock_NewShareRepurchaseProgramMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ShareRepurchaseProgramDomain_3bc9bcd3-bd2f-438f-917d-5d2fd1b80509" xlink:to="loc_rock_NewShareRepurchaseProgramMember_99aaeec7-e852-48a8-a96c-f7d1e1d9985f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_255b8aee-9e88-4b55-94fe-444ce12e4509" xlink:to="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StockRepurchaseProgramAuthorizedAmount1_c422da46-b748-4292-b777-483696d9181e" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:to="loc_srt_StockRepurchaseProgramAuthorizedAmount1_c422da46-b748-4292-b777-483696d9181e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareRepurchaseProgramDuration_4a55a0d9-7b71-4279-847a-47afc8e35efd" xlink:href="rock-20250331.xsd#rock_ShareRepurchaseProgramDuration"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_5d8223a5-ee79-4e5f-bfc2-344904efc8a2" xlink:to="loc_rock_ShareRepurchaseProgramDuration_4a55a0d9-7b71-4279-847a-47afc8e35efd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTimingDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaap_AwardTypeAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_EmployeeStockOptionMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardExrcPrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ErrCompDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompRecoveryTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_RestatementDateAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonNeosMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_ecd_NonNeosMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDeterminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_ExecutiveCategoryAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="loc_ecd_AllExecutiveCategoriesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_PeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_NonPeoNeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_AdjToCompAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllAdjToCompMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="loc_ecd_AllAdjToCompMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="loc_ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtPnsnAdjsSvcCstMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnAdjsSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnAdjsSvcCstMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:to="loc_ecd_PnsnAdjsSvcCstMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnAdjsPrrSvcCstMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnAdjsPrrSvcCstMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AggtPnsnAdjsSvcCstMember" xlink:to="loc_ecd_PnsnAdjsPrrSvcCstMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="loc_ecd_EqtyAwrdsAdjsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsMember" xlink:to="loc_ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsMember" xlink:to="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember" xlink:to="loc_ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_MeasureAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TabularListTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_us-gaap_NetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_OtherPerfMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_MeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PnsnBnftsAdjFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PnsnBnftsAdjFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EqtyAwrdsAdjFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EqtyAwrdsAdjFnTextBlock"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_EqtyAwrdsAdjFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TradingArrByIndTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_TradingArrAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllTradingArrangementsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrAxis" xlink:to="loc_ecd_AllTradingArrangementsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndTitle" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrAdoptionDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrTerminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrExpirationDate" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrExpirationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrDuration" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingPoliciesProc"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" 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-20250331_g1.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 rock-20250331_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
M             (O7M('+S\FL!UWPTQ.X=MVV&]$VCM?U:5VN,878+B]'P?')
M;+3E:.,Y%ED)ZXN)<2E3=;+'4GN2]7I)WJZTCX2_<UB['@6_ M]:8\*>U3L]
M]/(C;U@ZK\'8MZ1:GPKGAU]6)\&.W5&/O8Y4/4EU%        !-K]G;Y:5VM
MQNRCC-E%R]8S'CQ=$S,4I)?6N7<=3YG,F3;>TWXRUNR?R1RJDV(NJ:T;C0I<
M!FB4TI3K"WK"TGZKJ-.I6H^)S$85<URG9/C4X3SS%4IBW!U3ZUI]6G79^-R\
M^#ST5<'BU8QS1-,)$A'KO@                             !B;?GS%;I
M^B;8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I      DW>S)_/KR<^B;$?E
M@Z1IZR_0<MYVKR4C>KGTW,^:I\I,A(?2T   'Y)]O@72(_;[G"B7&!*1X<F%
M/C,S(DAONHKL?C2$.,O([DTKT4FM.M#]IJJHGI4S,51QP_*J::HZ-41-,\4M
M)=N^6CP,WBW*_2!Q9U*Y.F5<7)OV(8ZC6V3/ON^FLF3DFNG<6O<Q]*O32K[[
ME/[*TK3K0W>4WDUW(S'U?-7>C'%5/3I\6OI1':AILUN[HF=Q^'RUKI3QTQT)
M[M'1EQXY"^S5Z8R-J==N,^ZLOUG=ZH<?C8CLR)'S[$'Y%5*\.#$O]L18<JQ^
M#1%:=7I";X]2J:^YKW>YZ_3_ %D9RW,4:E9HNT?K4>#5V<)QIF>QT7)Y_P!7
MF3N1-6G7J[=?ZM?A4]C&,*H[?21S^6?EI\P^&"W[AN+5DV1@K;]&(^UL%>5F
M.MI-5K2TRJ7?8##<S&');U:I88O<6V2GZIK5MI2?22'I.\FD:SX.3NQ\/^I5
MX-?<GVW/-,U1'*X#5-W=6TCPLW:GX#]>GPJ.['!V*HB>9H8;UI       &4-
M)[?S70.VM>;HUU<5VO--;95:LJL4BBW4L/OVZ0E<FUW%#+C:I5FO<%3L*='K
M7LDPY#K2^J5UI7&SN4LY_*7,GF(QLW*)IGM\<<\3MB>*8B63D\W>R.:MYS+S
MA>MU15':XIYIC9,<<3,+-OCUN_#>2>D=9;UP%_Q<5V=B=MR: PIYM^1:94A"
MH]ZQVX.-42U6[8Q?8\FW3*)]RF5%<I3K2G4K3J&2O:;G;N1S'RMJN:9Y^28Y
MJHPF.:5C,AG;.HY.WG;'R5RB)CFY8GGB<8GGAF0PV6          $/?SXO,_
M>S.]WS@[H;(.S#<<G4B\A,PM$JM:Y5DUO?HNFJ;;*85V4Q[&);25WM:5*7,N
M:*0Z^&U#D)ER[N+NS%FBG6\_3\=5'Q5,^YIGW<\]7N>2G;PS&$4;[;R3>KG1
MLC5\33/QM4>ZF/<1S1[KEG9P1.,7@DY&P       !U8\OSRC^1?.V7$RQEA>
MI-"M2_"N.WLKM4EU%[2R[1$J%KC'%O0)6:SFE44A<A+L>U,.(6AR71Y-&%<M
MK^]FG:'$VI^-S^&RW3/!SUSMZ,<VVJ>*,-KI]"W6U#6YB['Q61QVW*HX>I&S
MI3S[*8Y<=B:OPX\O+C!P>QQJVZ:P9A[,),-$7(]KY8F)?-E9,KMK1ZDJ_P!8
MD=NSVUY5>M;?;&84#T44II2^JZPQK&\&IZW<Z6<K^)B=ENG913VN.>>K&>=,
M&DZ#INC6^CE*/C<-M=6VN>WQ1S1A',W@-(W(                Y6\\_*.X
MQ\XX=SR>9:6]3;U=8<5 W#A5MC(EW29V-I:1L/'4.0K?G</M:2CQ75L7-I":
M):F-M]S:^IT+>W4]$F+43\+D>.W5/!U)VS3[-/+#F=;W6T[6HFY,?!9WBN4Q
MP]>."KV)Y)0BN97!'D/P:SU6&[KQ-;5FN,B2G"]DV&C]QU]G<)A2_P#'L-[J
MRS6/<6VD]S]MF(C7*,FM%.,T:6VXY-6CZYI^N6/ALE7X<1X5$[*Z9YXY.28Q
MB>7'%#>KZ)G]%O\ P6<I\"9\&N-M-78GEY8G"8Y,&FYN&I       ?=Q>^9'
MC&2X_D>'W.ZV;++#>K7>,9N]B?D1;U;+_;9K$RT3[1)B53*8N42X,MK86W7O
M2XFE4^D^+M%N[:JMWHBJU53,51/!,3&V)YL.%]VJ[ENY3<M3,7::HF)CAB8G
M9,<^*S(X2YAR'SSB]J'*N5&&1,$W?=<8CN9?9(ZTM2Y%&UK:M-^OMF1'9:Q7
M),BM*&9D^THJJEOE/+:JEE5*QF*UZU9T^QJ=ZUI=<W,E%7@SWXB?=1$XQ%7'
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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Apr. 28, 2025</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,  2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">29,490,360<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 290,015<span></span>
</td>
<td class="nump">$ 292,506<span></span>
</td>
</tr>
<tr class="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">212,315<span></span>
</td>
<td class="nump">208,118<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">77,700<span></span>
</td>
<td class="nump">84,388<span></span>
</td>
</tr>
<tr class="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,190<span></span>
</td>
<td class="nump">52,652<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">25,510<span></span>
</td>
<td class="nump">31,736<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="num">(1,637)<span></span>
</td>
<td class="num">(750)<span></span>
</td>
</tr>
<tr class="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 expense (income), net</a></td>
<td class="nump">94<span></span>
</td>
<td class="num">(1,021)<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">27,053<span></span>
</td>
<td class="nump">33,507<span></span>
</td>
</tr>
<tr class="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">5,934<span></span>
</td>
<td class="nump">8,561<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">$ 21,119<span></span>
</td>
<td class="nump">$ 24,946<span></span>
</td>
</tr>
<tr class="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.70<span></span>
</td>
<td class="nump">$ 0.82<span></span>
</td>
</tr>
<tr class="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.69<span></span>
</td>
<td class="nump">$ 0.81<span></span>
</td>
</tr>
<tr class="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,252<span></span>
</td>
<td class="nump">30,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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">30,474<span></span>
</td>
<td class="nump">30,793<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/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 7: 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 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)(iii)(A))<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)(4)(iv))<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 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 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)(i))<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)(A))<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)(iii)(B))<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)(4)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 11: 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 12: 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 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)(i))<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)(ii))<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><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 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: 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 11: 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 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/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/2147477250/944-220-S99-1<br><br>Reference 14: 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 15: 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/2147478524/942-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br><br>Reference 17: 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/2147478524/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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<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 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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/2147477250/944-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 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 14: 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 15: 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/2147478524/942-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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>Amount of interest income (expense) classified as operating.</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 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 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/2147478524/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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://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/2147478524/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/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 21,119<span></span>
</td>
<td class="nump">$ 24,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">49<span></span>
</td>
<td class="num">(964)<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">$ 21,168<span></span>
</td>
<td class="nump">$ 23,982<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/2147478524/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/2147477250/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://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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-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 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://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/2147478524/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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Dec. 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_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">$ 25,114<span></span>
</td>
<td class="nump">$ 269,480<span></span>
</td>
</tr>
<tr class="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 );">Trade receivables, net of allowance of $2,805 and $3,394, respectively</a></td>
<td class="nump">195,192<span></span>
</td>
<td class="nump">169,350<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_CostsInExcessOfBillingsNet', window );">Costs in excess of billings, net</a></td>
<td class="num">(41,648)<span></span>
</td>
<td class="num">(34,570)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">170,304<span></span>
</td>
<td class="nump">138,140<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">41,228<span></span>
</td>
<td class="nump">39,792<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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">473,486<span></span>
</td>
<td class="nump">651,332<span></span>
</td>
</tr>
<tr class="ro">
<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">128,671<span></span>
</td>
<td class="nump">109,820<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">56,712<span></span>
</td>
<td class="nump">45,021<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">594,620<span></span>
</td>
<td class="nump">507,419<span></span>
</td>
</tr>
<tr class="re">
<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">181,690<span></span>
</td>
<td class="nump">103,882<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">4,239<span></span>
</td>
<td class="nump">1,936<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,439,418<span></span>
</td>
<td class="nump">1,419,410<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">137,970<span></span>
</td>
<td class="nump">117,408<span></span>
</td>
</tr>
<tr class="ro">
<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">98,428<span></span>
</td>
<td class="nump">95,664<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Billings in excess of costs</a></td>
<td class="nump">40,230<span></span>
</td>
<td class="nump">41,790<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">276,628<span></span>
</td>
<td class="nump">254,862<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">75,505<span></span>
</td>
<td class="nump">56,655<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Non-current operating lease liabilities</a></td>
<td class="nump">46,317<span></span>
</td>
<td class="nump">35,125<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">31,630<span></span>
</td>
<td class="nump">24,734<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value; authorized 10,000 shares; none outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; authorized 100,000 shares; 34,401 and 34,313 shares issued and outstanding in 2025 and 2024</a></td>
<td class="nump">344<span></span>
</td>
<td class="nump">343<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">346,653<span></span>
</td>
<td class="nump">343,583<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">896,970<span></span>
</td>
<td class="nump">875,851<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(5,277)<span></span>
</td>
<td class="num">(5,326)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Cost of 4,911 and 3,960 common shares held in treasury in 2025 and 2024</a></td>
<td class="num">(229,352)<span></span>
</td>
<td class="num">(166,417)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">1,009,338<span></span>
</td>
<td class="nump">1,048,034<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,439,418<span></span>
</td>
<td class="nump">$ 1,419,410<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_CostsInExcessOfBillingsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs In Excess Of Billings, Net</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rock_CostsInExcessOfBillingsNet</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2147478777/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/2147479170/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>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: 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 11: 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 12: 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 13: 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/2147479168/946-830-55-12<br><br>Reference 14: 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/2147478777/944-210-S99-1<br><br>Reference 15: 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/2147479170/946-210-S99-1<br><br>Reference 16: 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 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/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 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<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)(iv))<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)(5))<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 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: 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/2147478546/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>Amount of asset recognized for present right to economic benefit, 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 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://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 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)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-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_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/2147478777/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 asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<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/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: 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 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(15))<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 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 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 (a)<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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/2147478546/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://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<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/2147478777/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/2147478546/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://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(21))<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 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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><br>Reference 21: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-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_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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: 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 4: 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/2147478777/944-210-S99-1<br><br>Reference 5: 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/2147478451/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://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><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 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 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 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 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)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-1<br><br>Reference 8: 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_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://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 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(30))<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(31))<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/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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 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> -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 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(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 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 4: 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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Dec. 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_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">$ 2,805<span></span>
</td>
<td class="nump">$ 3,394<span></span>
</td>
</tr>
<tr class="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,401,000<span></span>
</td>
<td class="nump">34,401,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,313,000<span></span>
</td>
<td class="nump">34,313,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">4,911,000<span></span>
</td>
<td class="nump">3,960,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://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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-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_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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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/2147479170/946-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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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/2147479170/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/2147479134/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/2147479170/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/2147479134/946-220-S99-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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 21,119<span></span>
</td>
<td class="nump">$ 24,946<span></span>
</td>
</tr>
<tr class="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">9,086<span></span>
</td>
<td class="nump">6,663<span></span>
</td>
</tr>
<tr class="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">3,071<span></span>
</td>
<td class="nump">2,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_OtherOperatingActivitiesCashFlowStatement', window );">Other, net</a></td>
<td class="nump">244<span></span>
</td>
<td class="nump">1,619<span></span>
</td>
</tr>
<tr class="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 );">Trade receivables and costs in excess of billings</a></td>
<td class="num">(7,362)<span></span>
</td>
<td class="num">(6,950)<span></span>
</td>
</tr>
<tr class="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">(12,347)<span></span>
</td>
<td class="num">(17,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_IncreaseDecreaseInOtherOperatingAssets', window );">Other current assets and other assets</a></td>
<td class="nump">2,492<span></span>
</td>
<td class="nump">453<span></span>
</td>
</tr>
<tr class="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">12,416<span></span>
</td>
<td class="nump">35,455<span></span>
</td>
</tr>
<tr class="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="num">(15,035)<span></span>
</td>
<td class="nump">5,587<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">13,684<span></span>
</td>
<td class="nump">53,181<span></span>
</td>
</tr>
<tr class="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">(11,431)<span></span>
</td>
<td class="num">(4,366)<span></span>
</td>
</tr>
<tr class="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="num">(184,585)<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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested', window );">Net proceeds from sale of business</a></td>
<td class="nump">352<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(195,664)<span></span>
</td>
<td class="num">(4,366)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Purchase of common stock at market prices</a></td>
<td class="num">(62,394)<span></span>
</td>
<td class="num">(1,434)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(62,394)<span></span>
</td>
<td class="num">(1,434)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">8<span></span>
</td>
<td class="num">(142)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net (decrease) increase in cash and cash equivalents</a></td>
<td class="num">(244,366)<span></span>
</td>
<td class="nump">47,239<span></span>
</td>
</tr>
<tr class="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 beginning of year</a></td>
<td class="nump">269,480<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">$ 25,114<span></span>
</td>
<td class="nump">$ 146,665<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_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/2147477401/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_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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 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/2147477401/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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://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/2147478524/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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents the cash inflow during the period from the sale of a component of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2023</a></td>
<td class="text">&#160;<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="text">&#160;<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="text">&#160;<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="text">&#160;<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>
<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, 2024</a></td>
<td class="nump">34,313<span></span>
</td>
<td class="nump">34,313<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, 2024</a></td>
<td class="nump">$ 1,048,034<span></span>
</td>
<td class="nump">$ 343<span></span>
</td>
<td class="nump">343,583<span></span>
</td>
<td class="nump">875,851<span></span>
</td>
<td class="num">(5,326)<span></span>
</td>
<td class="num">$ (166,417)<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, 2024</a></td>
<td class="nump">3,960<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,960<span></span>
</td>
</tr>
<tr class="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,119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">49<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">49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,071<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,071<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">(2,369)<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">$ (2,369)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod', window );">Excise tax on repurchase of common stock</a></td>
<td class="num">(566)<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">$ (566)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchased under stock repurchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchased under stock repurchase program</a></td>
<td class="num">$ (60,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (60,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2025</a></td>
<td class="nump">34,313<span></span>
</td>
<td class="nump">34,401<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, 2025</a></td>
<td class="nump">$ 1,009,338<span></span>
</td>
<td class="nump">$ 344<span></span>
</td>
<td class="nump">$ 346,653<span></span>
</td>
<td class="nump">$ 896,970<span></span>
</td>
<td class="num">$ (5,277)<span></span>
</td>
<td class="num">$ (229,352)<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, 2025</a></td>
<td class="nump">4,911<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">4,911<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://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 3: 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/2147479170/946-210-S99-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: 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/2147479170/946-210-S99-1<br><br>Reference 6: 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/2147479134/946-220-S99-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_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://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/2147478524/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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_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://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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://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/2147478448/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/2147479134/946-220-S99-3<br><br>Reference 6: 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://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/2147479168/946-830-55-11<br><br>Reference 5: 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/2147478009/946-205-45-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<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(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 8: 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_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://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 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(30))<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(31))<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/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 5: 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/2147479168/946-830-55-12<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: 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/2147479170/946-210-S99-2<br><br>Reference 8: 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/2147479134/946-220-S99-3<br><br>Reference 9: 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/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: 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 12: 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 13: 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 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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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: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="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%">2025</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%">2024</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%">17,463&#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%">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="display:none"></td><td colspan="3" 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/accruals during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,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%">1,056&#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%">Acquired warranty accruals during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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%">Settlements made during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,698)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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)</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 #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%">18,716&#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%">10,068&#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><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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, 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%">The consolidated balance sheet at&#160;December&#160;31, 2024&#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 2025, 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, 2024.</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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">TRADE RECEIVABLES, NET<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 a roll-forward of the allowance for credit losses for the three month period ended March&#160;31, 2025 that is deducted from the amortized cost basis of trade receivables to present the net amount expected to be collected (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: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, 2025</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%">3,394&#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%">124&#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%">(713)</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, 2025</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%">2,805&#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 to 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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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:5pt;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 roof and foundation ventilation products, single point and centralized mail systems, trims, flashings, metal roofing, rain dispersion products and other accessories, retractable awnings and gutter guards; designing, engineering, manufacturing and installation of controlled environmental agriculture, custom greenhouses and structural canopies; designing, engineering, manufacturing and installation of solar racking and electrical balance of systems; 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 disclosures related to disaggregation of revenue.</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, 2025, 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%">For the three months ended March&#160;31, 2025 and 2024, respectively, there were no changes to estimated total costs to be incurred related to any individual contract that materially impacted the Company's consolidated 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%">Contract assets consist of net costs in excess of billings, classified as current assets in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2025 and December 31, 2024 was $2.1&#160;million and $3.1&#160;million, respectively.  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%">recognized revenue of $26.2&#160;million and $27.7&#160;million during the three months ended March&#160;31, 2025 and 2024, respectively, that was included in the contract liabilities balance of $44.8&#160;million and $48.7&#160;million at December 31, 2024 and 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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, net of reserves, 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, 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%">December 31, 2024</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%">104,571&#160;</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%">78,888&#160;</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%">20,620&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,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: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%">45,113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,057&#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%">Total inventories, net</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%">170,304&#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%">138,140&#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_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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, Asset Acquisition, and Joint Venture Formation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">ACQUISITIONS</a></td>
<td class="text">ACQUISITIONS<div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarter ended March 31, 2025, the Company acquired three businesses in separate transactions all of which were funded with cash on hand. One acquired business is included within the Company's Agtech segment and the other acquired businesses are included in the Company's Residential 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%">On February 11, 2025, the Company purchased all the outstanding stock of Lane Supply, Inc. ("Lane Supply"), a privately held company that designs, manufactures and installs structural canopies serving the convenience store, travel center, food retail, and quick serve restaurant markets. The results of Lane Supply have been included in the Company's consolidated financial results since the date of acquisition within the Company's Agtech segment. The preliminary purchase consideration for this acquisition was $117.1&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the stock 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%">On March 31, 2025, the Company acquired two privately held businesses within its Residential segment that primarily specialize in the manufacturing of metal roofing systems, along with metal wall panels, siding and trim products. The Company purchased all the outstanding stock of one of the businesses and substantially all of the assets for the other business for a combined preliminary purchase consideration of $90.2&#160;million, which includes preliminary working capital adjustments and certain other adjustments provided for in the purchase agreements.</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 these acquisitions were preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisitions.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisitions. Goodwill recognized in these acquisitions are primarily attributable to factors such as future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in domestic agtech structures and metal roofing markets, respectively. Due to the timing of these acquisitions, we continue to gather information supporting the acquired assets and assumed liabilities. Accordingly, all amounts recorded are provisional. These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition dates that, if known, would have affected the measurement of the amounts recognized as of that date. The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to one year from the date of acquisitions. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant and equipment and acquired intangible assets.  </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%">For the acquisition of Lane Supply, the preliminary excess consideration was recorded as goodwill and approximated $38.2&#160;million, none of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.</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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,467&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,108&#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%">6,707&#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%">67,100&#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%">671&#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%">(19,176)</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%">38,245&#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%">117,122&#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%">6,800&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;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%">20 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%">55,000&#160;</span></td><td style="background-color:#ffffff;padding: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%">15 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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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%">Less than 1 year</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">67,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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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%">For the acquisition of the two metal roofing businesses, the preliminary excess consideration was recorded as goodwill and approximated $48.9&#160;million, all of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.</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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisitions (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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,407&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,299&#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%">5,272&#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%">15,300&#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%">4,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,524)</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%">48,912&#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%">90,168&#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 these acquisitions 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%">4,300&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 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%">11,000&#160;</span></td><td style="background-color:#ffffff;padding: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%">10 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%">15,300&#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 Company recognized costs related to recent acquisitions comprised of legal and consulting fees within selling, general, and administrative expense of $2.6&#160;million for the three months ended March 31, 2025. No acquisition costs were incurred in 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%;text-decoration:underline">Pro Forma Information (Unaudited)</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 results of Lane Supply (from January 1, 2025 through February 10, 2025) and the two privately held businesses (from January 1, 2025 and March 31, 2025) have not been included in the Company's consolidated statements of income as the Company acquired Lane Supply on February 11, 2025 and the two privately held businesses on March 31, 2025.</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 unaudited pro forma financial information represents a summary of the consolidated results of operations of the Company for the three months ended March 31, 2025 and 2024, assuming these acquisitions had been completed on January 1, 2024 (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.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="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: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%">2025</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%">2024</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">313,079&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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%">329,981&#160;</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%">Income from operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">27,736&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,941&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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%">These pro forma amounts have been compiled by adding the historical results of these businesses to the results of the Company after applying accounting policies and pro forma adjustments primarily for amortization that would have been charged assuming the preliminary fair value adjustments to intangible assets had been applied from January 1, 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%">The pro forma financial information is not necessarily indicative of the results of operations that would have been achieved if the acquisitions had been effective as of these dates, or of future results.</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, 2025 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:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height: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:9pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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, 2024</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%">209,170&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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%">82,341&#160;</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%">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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;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%">507,419&#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="background-color:#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 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%">48,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,245&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">87,157&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">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:'Times New Roman',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%">44&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">44&#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%">Balance at March 31, 2025</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%">258,082&#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%">120,630&#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%">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%">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%">594,620&#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, 2025 and December 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%">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, 2025 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, 2025</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, 2024</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%">40,400&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 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%">40,400&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,419&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,350&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,217&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,618&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,199&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,968&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,083&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">450&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">709&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">634&#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:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213,335&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,045&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,648&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,166&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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%">253,735&#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%">72,045&#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%">173,048&#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%">69,166&#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="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 (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:67.759%"></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.107%"></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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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%">2025</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%">2024</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%">4,598&#160;</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,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="display: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 2025 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:36.088%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.709%"></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:8.709%"></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:8.709%"></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:8.709%"></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:8.709%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.715%"></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%">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><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2030</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%">16,087&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,252&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,967&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,203&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,154&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,623&#160;</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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, 2025 and December 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-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 following table sets forth the Company's availability on the revolving credit facility as of (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: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, 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%">December 31, 2024</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 revolving credit facility</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:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 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%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#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: standby letters of credit issued to third parties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,931)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,931)</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%">Availability on revolving credit facility</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%">395,069&#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%">395,069&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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, 2025, 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. The Credit Agreement includes an applicable margin which 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, </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%">which 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><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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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%">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, 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 (the "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%">2025</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></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</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) (2)</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%">81,940&#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%">64.79&#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%">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></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%">50,741&#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%">64.91&#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%">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></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;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)&#160;&#160;&#160;&#160;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.</span></div><div style="margin-top:3pt;padding-left:18pt;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)&#160;&#160;&#160;&#160;The PSUs granted in 2024, based on the Company's return on invested capital ("ROIC") for the performance period ended December 31, 2024, earned 45.0% of the targeted PSUs awarded.  Therefore, 26,363 units will convert to shares and be issued in 2027.  </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 represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a 200-day average of the Company&#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, 2025 were $22.9 million, of which $4.2&#160;million was included in current accrued expenses and $18.7 million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2024 were $23.7 million, of which $3.2&#160;million was included in current accrued expenses and $20.5 million was included in non-current liabilities. The value of the restricted stock units within the MSPP liabilities was $17.0&#160;million and $18.1&#160;million at March&#160;31, 2025 and December&#160;31, 2024, 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:</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.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="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: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%">2025</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%">2024</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%">18,283&#160;</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%">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></tr><tr><td colspan="3" style="background-color:#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%">1,928&#160;</span></td><td style="background-color:#ffffff;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,023&#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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 periodically undertakes restructuring initiatives as part of its focus to improve operating performance and optimize its business portfolio. These initiatives have led to outsourcing or discontinuing low-volume, low margin products, selling or exiting less profitable businesses or product lines, or reorganizing the Company's manufacturing footprint. As a result, the Company has incurred costs related to discrete restructuring events for moving and closing facilities, severance, inventory write-downs, and  warranty costs associated with discontinued product lines during the three months ended March&#160;31, 2025</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top: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 charges (recoveries) incurred by segment related to the restructuring activities described above (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: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="border-bottom: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%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" 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%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" 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%">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%">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%">Residential</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%">1,137&#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%">1,137&#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%">(72)</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%">(72)</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%">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%">68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">138&#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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,530&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,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%">269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">269&#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%">31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">5,766&#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%">81&#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%">5,847&#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%">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></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 impairments were recorded in the consolidated statements of income (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="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%">2025</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%">2024</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%">4,362&#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%">(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="display:none"></td><td colspan="3" 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%">1,485&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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="display:none"></td><td colspan="3" 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%">5,847&#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%">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="display: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 recorded in current accrued expenses on the consolidated balance sheets relating to the Company&#8217;s restructuring efforts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.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%">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%">2024</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%">12,011&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,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></tr><tr><td colspan="3" style="background-color:#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%">5,766&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,670)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" style="background-color:#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%">13,107&#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%">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></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 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><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 (a)<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/420/tableOfContent<br><br>Reference 5: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 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: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="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%">2025</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%">2024</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 (in thousands)</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%">5,934&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,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="display:none"></td><td colspan="3" 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%">21.9&#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.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="display: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 effective tax rate for the three months ended March&#160;31, 2025 was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by benefits related to tax credit generation or utilization and favorable discrete items due to an excess tax benefit on stock-based compensation. The effective tax rate for the three months ended March&#160;31, 2024 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><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 tax.</p></div>
<a href="javascript: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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<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 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: 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/2147477891/740-270-50-1<br><br>Reference 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 (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="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 #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%">2025</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%">2024</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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Basic weighted average shares outstanding</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%">30,252&#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%">30,572&#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%">Dilutive effect of common stock options and 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:10pt;font-weight:400;line-height:100%">222&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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:#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%">Dilutive weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,474&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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%">30,793&#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 provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations (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="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 #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%">2025</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%">2024</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%">60&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationRevenueAbstract', window );"><strong>Segment Reporting Information, Revenue for Reportable Segment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENT INFORMATION</a></td>
<td class="text">SEGMENT INFORMATION<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has four reportable segments: Residential, Agtech, Renewables and Infrastructure.  The Company's reportable segments are each managed separately because they design, engineer, manufacture, and where applicable install, distinct products with different production processes.</span></div><div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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 consists of operating segments that sell the following products and services to major retail home centers, building material wholesalers, building product distributors, roofing distributors, residential contractors, property management companies, manufactured housing dealers, postal services distributors and providers, and online direct to end consumers: roof and foundation ventilation products, single point and centralized mail systems and package solutions, outdoor living space products (sun-shading), rain dispersion systems, metal roofing job site services, and other construction accessories.</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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 consists of an operating segment that sells the following products and services to large-scale indoor commercial growers, agricultural research, development facilities, as well as convenience store, travel centers, food retailers, and quick-serve restaurants: design, manufacture and build controlled environmental agriculture, custom greenhouses and structural canopies.</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%">&#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 consists of an operating segment that sells the following products and services to developers, EPCs and owners / operators of solar fields: design, manufacture and install solar energy mounting systems including foundation, racking, and electrical balance of system.</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%">&#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 consists of an operating segment that sells the following products to commercial and transportation contractors and fabricators:  expansion joints, structural bearings, rubber pre-formed seals and other sealants, elastomeric concrete, and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accounting policies of the Company's segments are the same as those described in Note 1 "Summary of Significant Accounting Policies" included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2024. The following tables illustrate certain measurements used by management to assess the performance of the segments described above (in thousands):</span></div><div style="margin-top:10pt;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:29.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.287%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.157%"></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, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">179,994&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">45,040&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">43,658&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">21,323&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">290,015&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Less (1):</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">148,734&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">41,655&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">46,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">16,065&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">253,257&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Segment profit (loss)</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,260&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">3,385&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(3,145)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">5,258&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">36,758&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(11,248)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,637&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other expense, net</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(94)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">27,053&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr></table></div><div style="margin-top:10pt;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:29.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.287%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.157%"></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 #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:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">185,111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">34,027&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">51,496&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">21,872&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">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:top"></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:112%">Less (1):</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">150,765&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,419&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">49,852&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">16,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">249,012&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Segment profit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">34,346&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">2,608&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,644&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">4,896&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">43,494&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(11,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">750&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other income, net</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,021&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">33,507&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Footnotes:</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM.</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%">(2)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables are the reported segment&#8217;s and unallocated corporate reported depreciation and amortization (in thousands):</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.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="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:120%">Three Months Ended<br/>March 31,</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:120%">2025</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:120%">2024</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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td 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%">2,527&#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%">2,591&#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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,760&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">830&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,280&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,900&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">745&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">818&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total depreciation and amortization</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,086&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,663&#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%">The following table is the reported segment's 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/>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:120%">December 31,<br/>2024</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%">Residential</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%">638,433&#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%">497,317&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">305,855&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">156,929&#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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368,587&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">390,881&#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%">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%">78,924&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,366&#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%">Unallocated corporate 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%">47,619&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295,917&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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%">Total assets</span></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">1,439,418&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">1,419,410&#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></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 presents disaggregated revenue by timing of transfer of control to customers by reported segment (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:17.201%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></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.712%"></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:14.712%"></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.712%"></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:14.717%"></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, 2025</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%">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%">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%">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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Point in Time</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%">179,994&#160;</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%">276&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,982&#160;</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,880&#160;</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%">195,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">44,764&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,676&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,443&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,883&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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%">179,994&#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%">45,040&#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%">43,658&#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%">21,323&#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 #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%">290,015&#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: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:17.201%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></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.712%"></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:14.712%"></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.712%"></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:14.717%"></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%">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%">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%">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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Point in Time</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%">183,332&#160;</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,339&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,789&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,310&#160;</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%">198,770&#160;</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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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%">185,111&#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%">34,027&#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%">51,496&#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%">21,872&#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%">292,506&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<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 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<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 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/280/tableOfContent<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 26<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26<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> -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 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 24: 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 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 (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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_SubsequentEventsAbstract', window );"><strong>Subsequent Events [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_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text">SUBSEQUENT EVENT<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 April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $200&#160;million of the Company's issued and outstanding common stock. The new program has a duration of three years, ending April 30, 2028. 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. The Company has not made repurchases under the new repurchase program as of April 30, 2025.</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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<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/2147483399/855-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_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income available to common stockholders</a></td>
<td class="nump">$ 21,119<span></span>
</td>
<td class="nump">$ 24,946<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<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 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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 15: 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 16: 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 17: 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/2147479168/946-830-55-10<br><br>Reference 18: 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/2147479105/946-220-45-7<br><br>Reference 19: 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/2147477250/944-220-S99-1<br><br>Reference 20: 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/2147479134/946-220-S99-1<br><br>Reference 21: 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/2147479134/946-220-S99-3<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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: 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 24: 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 25: 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 26: 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 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)(i))<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)(4)(iii)(A))<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 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 30: 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 31: 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 32: 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 33: 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 34: 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 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://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/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 2025, 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, 2024.</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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: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="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%">2025</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%">2024</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%">17,463&#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%">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="display:none"></td><td colspan="3" 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/accruals during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,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%">1,056&#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%">Acquired warranty accruals during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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%">Settlements made during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,698)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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)</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 #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%">18,716&#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%">10,068&#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><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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;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, 2025 that is deducted from the amortized cost basis of trade receivables to present the net amount expected to be collected (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: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, 2025</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%">3,394&#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%">124&#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%">(713)</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, 2025</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%">2,805&#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> -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://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(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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, net of reserves, 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, 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%">December 31, 2024</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%">104,571&#160;</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%">78,888&#160;</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%">20,620&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,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: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%">45,113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,057&#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%">Total inventories, net</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%">170,304&#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%">138,140&#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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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, Asset Acquisition, and Joint Venture Formation [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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,467&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,108&#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%">6,707&#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%">67,100&#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%">671&#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%">(19,176)</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%">38,245&#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%">117,122&#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;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisitions (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="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,407&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,299&#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%">5,272&#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%">15,300&#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%">4,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,524)</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%">48,912&#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%">90,168&#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%">6,800&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;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%">20 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%">55,000&#160;</span></td><td style="background-color:#ffffff;padding: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%">15 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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="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%">Less than 1 year</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">67,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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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 these acquisitions 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%">4,300&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 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%">11,000&#160;</span></td><td style="background-color:#ffffff;padding: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%">10 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%">15,300&#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>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Summary of Unaudited Pro Forma Financial Information</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 unaudited pro forma financial information represents a summary of the consolidated results of operations of the Company for the three months ended March 31, 2025 and 2024, assuming these acquisitions had been completed on January 1, 2024 (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.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="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: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%">2025</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%">2024</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">313,079&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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%">329,981&#160;</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%">Income from operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">27,736&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,941&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -SubTopic 10<br> -Topic 805<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_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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, 2025 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:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height: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:9pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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, 2024</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%">209,170&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><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%">82,341&#160;</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%">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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;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%">507,419&#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="background-color:#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 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%">48,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,245&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">87,157&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">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:'Times New Roman',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%">44&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">44&#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%">Balance at March 31, 2025</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%">258,082&#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%">120,630&#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%">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%">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%">594,620&#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, 2025</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, 2024</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%">40,400&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 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%">40,400&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 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%">Backlog</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,419&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,350&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,217&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,618&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,199&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,968&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,083&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">450&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">709&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">634&#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:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213,335&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,045&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,648&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,166&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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%">253,735&#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%">72,045&#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%">173,048&#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%">69,166&#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="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 (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:67.759%"></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.107%"></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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size: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%">2025</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%">2024</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%">4,598&#160;</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,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="display: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 2025 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:36.088%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.709%"></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:8.709%"></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:8.709%"></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:8.709%"></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:8.709%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.715%"></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%">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><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2030</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%">16,087&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,252&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,967&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,203&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,154&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,623&#160;</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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_ScheduleOfLineOfCreditFacilitiesTextBlock', window );">Schedule of Line of Credit Facilities</a></td>
<td class="text">The following table sets forth the Company's availability on the revolving credit facility as of (in thousands):<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: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, 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%">December 31, 2024</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 revolving credit facility</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:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 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%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">400,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#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: standby letters of credit issued to third parties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,931)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,931)</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%">Availability on revolving credit facility</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%">395,069&#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%">395,069&#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_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_ScheduleOfLineOfCreditFacilitiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.</p></div>
<a href="javascript: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(22)(b))<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(19)(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_ScheduleOfLineOfCreditFacilitiesTextBlock</td>
</tr>
<tr>
<td style="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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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%">2025</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></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</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) (2)</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%">81,940&#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%">64.79&#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%">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></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%">50,741&#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%">64.91&#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%">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></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;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)&#160;&#160;&#160;&#160;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.</span></div>(2)&#160;&#160;&#160;&#160;The PSUs granted in 2024, based on the Company's return on invested capital ("ROIC") for the performance period ended December 31, 2024, earned 45.0% of the targeted PSUs awarded.  Therefore, 26,363 units will convert to shares and be issued in 2027.<span></span>
</td>
</tr>
<tr class="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:</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.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="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: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%">2025</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%">2024</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%">18,283&#160;</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%">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></tr><tr><td colspan="3" style="background-color:#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%">1,928&#160;</span></td><td style="background-color:#ffffff;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,023&#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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 charges (recoveries) incurred by segment related to the restructuring activities described above (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: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="border-bottom: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%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" 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%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" 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%">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%">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%">Residential</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%">1,137&#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%">1,137&#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%">(72)</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%">(72)</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%">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%">68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">138&#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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,530&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,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%">269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">269&#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%">31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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%">5,766&#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%">81&#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%">5,847&#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%">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></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 impairments were recorded in the consolidated statements of income (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="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%">2025</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%">2024</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%">4,362&#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%">(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="display:none"></td><td colspan="3" 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%">1,485&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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="display:none"></td><td colspan="3" 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%">5,847&#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%">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="display: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 recorded in current accrued expenses on the consolidated balance sheets relating to the Company&#8217;s restructuring efforts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.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%">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%">2024</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%">12,011&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,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></tr><tr><td colspan="3" style="background-color:#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%">5,766&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,670)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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></tr><tr><td colspan="3" style="background-color:#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%">13,107&#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%">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></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> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -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 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> -Subparagraph (b)(2)<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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 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: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="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%">2025</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%">2024</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 (in thousands)</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%">5,934&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,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="display:none"></td><td colspan="3" 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%">21.9&#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.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="display: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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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 (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="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 #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%">2025</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%">2024</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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Basic weighted average shares outstanding</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%">30,252&#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%">30,572&#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%">Dilutive effect of common stock options and 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:10pt;font-weight:400;line-height:100%">222&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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:#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%">Dilutive weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,474&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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%">30,793&#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_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 (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="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 #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%">2025</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%">2024</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%">60&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</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">The following tables illustrate certain measurements used by management to assess the performance of the segments described above (in thousands):<div style="margin-top:10pt;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:29.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.287%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.157%"></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, 2025</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">179,994&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">45,040&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">43,658&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">21,323&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">290,015&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Less (1):</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">148,734&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">41,655&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">46,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">16,065&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">253,257&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Segment profit (loss)</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,260&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">3,385&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(3,145)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">5,258&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">36,758&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(11,248)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,637&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other expense, net</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(94)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">27,053&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr></table></div><div style="margin-top:10pt;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:29.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.432%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.287%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.369%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.157%"></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 #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:112%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%">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:112%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">185,111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">34,027&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">51,496&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">21,872&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">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:top"></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:112%">Less (1):</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Operating expenses (2)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">150,765&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">31,419&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">49,852&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">16,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">249,012&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:112%">Segment profit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">34,346&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">2,608&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,644&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">4,896&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">43,494&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%;text-decoration:underline">Reconciliation of segment profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Unallocated corporate expenses</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(11,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">750&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other income, net</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="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">1,021&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Income before taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="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:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">33,507&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Footnotes:</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM.</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%">(2)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables are the reported segment&#8217;s and unallocated corporate reported depreciation and amortization (in thousands):</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.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="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:120%">Three Months Ended<br/>March 31,</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:120%">2025</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:120%">2024</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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td 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%">2,527&#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%">2,591&#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 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,760&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">830&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,280&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;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,900&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">745&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">818&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total depreciation and amortization</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,086&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,663&#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%">The following table is the reported segment's 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/>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:120%">December 31,<br/>2024</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%">Residential</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%">638,433&#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%">497,317&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">305,855&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">156,929&#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%">Renewables</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368,587&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">390,881&#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%">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%">78,924&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,366&#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%">Unallocated corporate 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%">47,619&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295,917&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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%">Total assets</span></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">1,439,418&#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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:400;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:10pt;font-weight:400;line-height:100%">1,419,410&#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></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;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following presents disaggregated revenue by timing of transfer of control to customers by reported segment (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:17.201%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></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.712%"></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:14.712%"></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.712%"></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:14.717%"></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, 2025</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%">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%">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%">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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Point in Time</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%">179,994&#160;</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%">276&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,982&#160;</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,880&#160;</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%">195,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">44,764&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,676&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,443&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,883&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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%">179,994&#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%">45,040&#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%">43,658&#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%">21,323&#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 #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%">290,015&#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: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:17.201%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></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.712%"></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:14.712%"></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.712%"></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:14.717%"></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%">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%">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%">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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" 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%">Point in Time</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%">183,332&#160;</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,339&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,789&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,310&#160;</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%">198,770&#160;</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%">Over Time</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net sales</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%">185,111&#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%">34,027&#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%">51,496&#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%">21,872&#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%">292,506&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 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 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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<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 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 17,463<span></span>
</td>
<td class="nump">$ 9,139<span></span>
</td>
</tr>
<tr class="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/accruals during the period</a></td>
<td class="nump">6,745<span></span>
</td>
<td class="nump">1,056<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Acquired warranty accruals during the period</a></td>
<td class="nump">206<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_StandardProductWarrantyAccrualPayments', window );">Settlements made during the period</a></td>
<td class="num">(5,698)<span></span>
</td>
<td class="num">(127)<span></span>
</td>
</tr>
<tr class="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">$ 18,716<span></span>
</td>
<td class="nump">$ 10,068<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_StandardProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025 </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, 2025</a></td>
<td class="nump">$ 3,394<span></span>
</td>
</tr>
<tr class="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">124<span></span>
</td>
</tr>
<tr class="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">(713)<span></span>
</td>
</tr>
<tr class="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, 2025</a></td>
<td class="nump">$ 2,805<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/2147478777/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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_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>
<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_ContractWithCustomerLiabilityCurrentUnearnedRevenue', window );">Unearned revenue</a></td>
<td class="nump">$ 2.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.1<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_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized', window );">Revenue recognized that was in contract liabilities at the beginning of the period</a></td>
<td class="nump">$ 26.2<span></span>
</td>
<td class="nump">$ 27.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 44.8<span></span>
</td>
<td class="nump">$ 48.7<span></span>
</td>
</tr>
<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-07-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Remaining performance obligation expected timing of satisfaction</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ContractWithCustomerLiabilityCurrentUnearnedRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Current Unearned Revenue</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_ContractWithCustomerLiabilityCurrentUnearnedRevenue</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_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-07-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-07-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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Dec. 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw material</a></td>
<td class="nump">$ 104,571<span></span>
</td>
<td class="nump">$ 78,888<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">20,620<span></span>
</td>
<td class="nump">18,195<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">45,113<span></span>
</td>
<td class="nump">41,057<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">$ 170,304<span></span>
</td>
<td class="nump">$ 138,140<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript: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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<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_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing 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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<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_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript: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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<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_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Narrative) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Feb. 11, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 594,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 594,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 507,419<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,190<span></span>
</td>
<td class="nump">$ 52,652<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_LaneSupplyMember', window );">Lane Supply</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Acquisition purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 117,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_TwoPrivatelyHeldBusinessesMember', window );">Two Privately Held Businesses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Acquisition purchase price</a></td>
<td class="nump">90,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TwoMetalRoofingBusinessesMember', window );">Two Metal Roofing Businesses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 48,912<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,912<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_A2025AcquisitionsMember', window );">2025 Acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,600<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 asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<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/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: 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 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(15))<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 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 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 (a)<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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/2147478546/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_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_BusinessAcquisitionAxis=rock_LaneSupplyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LaneSupplyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rock_TwoPrivatelyHeldBusinessesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TwoPrivatelyHeldBusinessesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rock_TwoMetalRoofingBusinessesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TwoMetalRoofingBusinessesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rock_A2025AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_A2025AcquisitionsMember</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Feb. 11, 2025</div></th>
<th class="th"><div>Dec. 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_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">$ 594,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 507,419<span></span>
</td>
</tr>
<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_LaneSupplyMember', window );">Lane Supply</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,467<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital', window );">Working capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,108<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Acquired intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">671<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19,176)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Fair value of purchase consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 117,122<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_TwoMetalRoofingBusinessesMember', window );">Two Metal Roofing Businesses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="nump">4,407<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital', window );">Working capital</a></td>
<td class="nump">13,299<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant and equipment</a></td>
<td class="nump">5,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Acquired intangible assets</a></td>
<td class="nump">15,300<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other assets</a></td>
<td class="nump">4,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="num">(1,524)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">48,912<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Fair value of purchase consideration</a></td>
<td class="nump">$ 90,168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<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/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: 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 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(15))<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 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 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 (a)<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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/2147478546/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_LaneSupplyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LaneSupplyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rock_TwoMetalRoofingBusinessesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TwoMetalRoofingBusinessesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisition (Schedule of Acquired Intangible Assets) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 11, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_LaneSupplyMember', window );">Lane Supply</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 67,100<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_LaneSupplyMember', window );">Lane Supply | Trademarks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_LaneSupplyMember', window );">Lane Supply | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 55,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_LaneSupplyMember', window );">Lane Supply | Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="nump">$ 5,300<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_TwoMetalRoofingBusinessesMember', window );">Two Metal Roofing Businesses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_TwoMetalRoofingBusinessesMember', window );">Two Metal Roofing Businesses | Trademarks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,300<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 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_TwoMetalRoofingBusinessesMember', window );">Two Metal Roofing Businesses | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived Intangible Assets Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 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://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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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_LaneSupplyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LaneSupplyMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=rock_BacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_BacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rock_TwoMetalRoofingBusinessesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TwoMetalRoofingBusinessesMember</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisition (Summary of Unaudited Pro Forma Financial Information) - (Details) - Lane Supply - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Net sales</a></td>
<td class="nump">$ 313,079<span></span>
</td>
<td class="nump">$ 329,981<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Income from operations</a></td>
<td class="nump">$ 27,736<span></span>
</td>
<td class="nump">$ 31,941<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_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a 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 805<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/2147479328/805-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<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_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of 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 805<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/2147479328/805-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<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_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BusinessAcquisitionAxis=rock_LaneSupplyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LaneSupplyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025 </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, 2024</a></td>
<td class="nump">$ 507,419<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</a></td>
<td class="nump">87,157<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="nump">44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance at March 31, 2025</a></td>
<td class="nump">594,620<span></span>
</td>
</tr>
<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, 2024</a></td>
<td class="nump">209,170<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</a></td>
<td class="nump">48,912<span></span>
</td>
</tr>
<tr class="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, 2025</a></td>
<td class="nump">258,082<span></span>
</td>
</tr>
<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, 2024</a></td>
<td class="nump">82,341<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</a></td>
<td class="nump">38,245<span></span>
</td>
</tr>
<tr class="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">44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance at March 31, 2025</a></td>
<td class="nump">120,630<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rock_RenewablesMember', 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, 2024</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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</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, 2025</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_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, 2024</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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</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, 2025</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 asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<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/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: 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 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(15))<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 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 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 (a)<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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is 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_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_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_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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Dec. 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Dec. 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_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">$ 213,335<span></span>
</td>
<td class="nump">$ 132,648<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">253,735<span></span>
</td>
<td class="nump">173,048<span></span>
</td>
</tr>
<tr class="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">72,045<span></span>
</td>
<td class="nump">69,166<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">72,045<span></span>
</td>
<td class="nump">69,166<span></span>
</td>
</tr>
<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=rock_BacklogMember', window );">Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">5,300<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">1,419<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">13,350<span></span>
</td>
<td class="nump">2,550<span></span>
</td>
</tr>
<tr class="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,475<span></span>
</td>
<td class="nump">1,773<span></span>
</td>
</tr>
<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">29,217<span></span>
</td>
<td class="nump">30,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">22,618<span></span>
</td>
<td class="nump">23,199<span></span>
</td>
</tr>
<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">164,968<span></span>
</td>
<td class="nump">99,060<span></span>
</td>
</tr>
<tr class="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">46,083<span></span>
</td>
<td class="nump">43,560<span></span>
</td>
</tr>
<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">500<span></span>
</td>
<td class="nump">709<span></span>
</td>
</tr>
<tr class="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">450<span></span>
</td>
<td class="nump">634<span></span>
</td>
</tr>
<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">40,400<span></span>
</td>
<td class="nump">40,400<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/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: 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><br>Reference 4: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: 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><br>Reference 4: 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/2147478859/928-340-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_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/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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 (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: 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 (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br><br>Reference 5: 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><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 8: 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: 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 (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=rock_BacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_BacklogMember</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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 4,598<span></span>
</td>
<td class="nump">$ 2,718<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: 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)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025 </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 );">2025</a></td>
<td class="nump">$ 16,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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2026</a></td>
<td class="nump">15,252<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">13,967<span></span>
</td>
</tr>
<tr class="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 );">2028</a></td>
<td class="nump">13,203<span></span>
</td>
</tr>
<tr class="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 );">2029</a></td>
<td class="nump">13,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2030</a></td>
<td class="nump">$ 11,623<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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 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_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="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="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="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 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 );">Less: standby letters of credit issued to third parties</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>
</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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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://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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-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_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://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(22)(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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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(19)(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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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(19)(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_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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<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 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<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 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: 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/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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_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_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_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>
</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term Debt (Schedule of Long-term Debt) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility</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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Total revolving credit facility</a></td>
<td class="num">$ (400,000)<span></span>
</td>
<td class="num">$ (400,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Availability on revolving credit facility</a></td>
<td class="nump">395,069<span></span>
</td>
<td class="nump">395,069<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_StandbyLettersOfCreditMember', window );">Standby Letters of Credit</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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Less: standby letters of credit issued to third parties</a></td>
<td class="nump">$ 4,931<span></span>
</td>
<td class="nump">$ 4,931<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_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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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(19)(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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<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(19)(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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<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(22)(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(19)(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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">26,363<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">45.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">81,940<span></span>
</td>
<td class="nump">58,582<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant&#160;date fair value (in USD per share)</a></td>
<td class="nump">$ 64.79<span></span>
</td>
<td class="nump">$ 77.70<span></span>
</td>
</tr>
<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="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">50,741<span></span>
</td>
<td class="nump">29,671<span></span>
</td>
</tr>
<tr class="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">$ 64.91<span></span>
</td>
<td class="nump">$ 77.70<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_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>
</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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_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">$ 22,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23,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_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">17,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,100,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">18,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">4,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,200,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">$ 1,928,000<span></span>
</td>
<td class="nump">$ 2,023,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">$ 18,283<span></span>
</td>
<td class="nump">$ 40,538<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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 5,766<span></span>
</td>
<td class="nump">$ 407<span></span>
</td>
</tr>
<tr class="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">81<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_RestructuringCharges', window );">Total</a></td>
<td class="nump">5,847<span></span>
</td>
<td class="nump">335<span></span>
</td>
</tr>
<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="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">1,137<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="nump">0<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<tr class="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">1,137<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<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="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">68<span></span>
</td>
<td class="nump">138<span></span>
</td>
</tr>
<tr class="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">68<span></span>
</td>
<td class="nump">138<span></span>
</td>
</tr>
<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="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">4,530<span></span>
</td>
<td class="nump">269<span></span>
</td>
</tr>
<tr class="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">81<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">4,611<span></span>
</td>
<td class="nump">269<span></span>
</td>
</tr>
<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="nump">31<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="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">$ 31<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 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 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/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 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 (c)<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 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 6: 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 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_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_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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 5,847<span></span>
</td>
<td class="nump">$ 335<span></span>
</td>
</tr>
<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="nump">4,362<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<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">$ 1,485<span></span>
</td>
<td class="nump">$ 407<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 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 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/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 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 (c)<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 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 6: 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 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 12,011<span></span>
</td>
<td class="nump">$ 6,725<span></span>
</td>
</tr>
<tr class="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">5,766<span></span>
</td>
<td class="nump">407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="num">(4,670)<span></span>
</td>
<td class="num">(553)<span></span>
</td>
</tr>
<tr class="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">$ 13,107<span></span>
</td>
<td class="nump">$ 6,579<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 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>69
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 (in thousands)</a></td>
<td class="nump">$ 5,934<span></span>
</td>
<td class="nump">$ 8,561<span></span>
</td>
</tr>
<tr class="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">21.90%<span></span>
</td>
<td class="nump">25.60%<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><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: 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 7: 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 8: 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 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> -Subparagraph (h)<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 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/2147477250/944-220-S99-1<br><br>Reference 11: 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 12: 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>70
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<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.1.Q1)<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>71
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<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_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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Diluted (in shares)</a></td>
<td class="nump">30,252,000<span></span>
</td>
<td class="nump">30,572,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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Common stock options and stock units (in shares)</a></td>
<td class="nump">222,000<span></span>
</td>
<td class="nump">221,000<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares outstanding, diluted (in shares)</a></td>
<td class="nump">30,474,000<span></span>
</td>
<td class="nump">30,793,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from earnings per share calculation (in shares)</a></td>
<td class="nump">60,000<span></span>
</td>
<td class="nump">4,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_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>72
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 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_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">$ 290,015<span></span>
</td>
<td class="nump">$ 292,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">25,510<span></span>
</td>
<td class="nump">31,736<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">1,637<span></span>
</td>
<td class="nump">750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncome', window );">Other expense, net</a></td>
<td class="num">(94)<span></span>
</td>
<td class="nump">1,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">27,053<span></span>
</td>
<td class="nump">33,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">9,086<span></span>
</td>
<td class="nump">6,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,439,418<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,419,410<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">179,994<span></span>
</td>
<td class="nump">185,111<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="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">45,040<span></span>
</td>
<td class="nump">34,027<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_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">43,658<span></span>
</td>
<td class="nump">51,496<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,323<span></span>
</td>
<td class="nump">21,872<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</a></td>
<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">290,015<span></span>
</td>
<td class="nump">292,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="nump">253,257<span></span>
</td>
<td class="nump">249,012<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">36,758<span></span>
</td>
<td class="nump">43,494<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 | 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">179,994<span></span>
</td>
<td class="nump">185,111<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="nump">148,734<span></span>
</td>
<td class="nump">150,765<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">31,260<span></span>
</td>
<td class="nump">34,346<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,527<span></span>
</td>
<td class="nump">2,591<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 | Agtech</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">45,040<span></span>
</td>
<td class="nump">34,027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="nump">41,655<span></span>
</td>
<td class="nump">31,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,385<span></span>
</td>
<td class="nump">2,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,760<span></span>
</td>
<td class="nump">830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">305,855<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156,929<span></span>
</td>
</tr>
<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">43,658<span></span>
</td>
<td class="nump">51,496<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="nump">46,803<span></span>
</td>
<td class="nump">49,852<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Total consolidated income from operations</a></td>
<td class="num">(3,145)<span></span>
</td>
<td class="nump">1,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">2,280<span></span>
</td>
<td class="nump">1,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">368,587<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">390,881<span></span>
</td>
</tr>
<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,323<span></span>
</td>
<td class="nump">21,872<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="nump">16,065<span></span>
</td>
<td class="nump">16,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">5,258<span></span>
</td>
<td class="nump">4,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">701<span></span>
</td>
<td class="nump">745<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">78,924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">78,366<span></span>
</td>
</tr>
<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="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_Assets', window );">Total assets</a></td>
<td class="nump">638,433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">497,317<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Total consolidated income from operations</a></td>
<td class="num">(11,248)<span></span>
</td>
<td class="num">(11,758)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">818<span></span>
</td>
<td class="nump">$ 597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 47,619<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 295,917<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>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: 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 7: 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 8: 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 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: 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 11: 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 12: 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 13: 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/2147479168/946-830-55-12<br><br>Reference 14: 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/2147478777/944-210-S99-1<br><br>Reference 15: 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/2147479170/946-210-S99-1<br><br>Reference 16: 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 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/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 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<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)(iv))<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)(5))<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 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 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: 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/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-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 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<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 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_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/2009/role/commonPracticeRef<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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 8: 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/2147477250/944-220-S99-1<br><br>Reference 9: 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 10: 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/2147477314/942-235-S99-1<br><br>Reference 11: 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 12: 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/2147478524/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_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>Amount of interest income (expense) classified as operating.</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 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 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/2147478524/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_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/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 3: 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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue and income classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rock_ResidentialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rock_AgtechMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rock_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_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_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_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>73
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2025</div></th>
<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_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">$ 290,015<span></span>
</td>
<td class="nump">$ 292,506<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">179,994<span></span>
</td>
<td class="nump">185,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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">45,040<span></span>
</td>
<td class="nump">34,027<span></span>
</td>
</tr>
<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">43,658<span></span>
</td>
<td class="nump">51,496<span></span>
</td>
</tr>
<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,323<span></span>
</td>
<td class="nump">21,872<span></span>
</td>
</tr>
<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">195,132<span></span>
</td>
<td class="nump">198,770<span></span>
</td>
</tr>
<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="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">179,994<span></span>
</td>
<td class="nump">183,332<span></span>
</td>
</tr>
<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="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">276<span></span>
</td>
<td class="nump">2,339<span></span>
</td>
</tr>
<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,982<span></span>
</td>
<td class="nump">6,789<span></span>
</td>
</tr>
<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">7,880<span></span>
</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_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">94,883<span></span>
</td>
<td class="nump">93,736<span></span>
</td>
</tr>
<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="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">0<span></span>
</td>
<td class="nump">1,779<span></span>
</td>
</tr>
<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="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">44,764<span></span>
</td>
<td class="nump">31,688<span></span>
</td>
</tr>
<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">36,676<span></span>
</td>
<td class="nump">44,707<span></span>
</td>
</tr>
<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">$ 13,443<span></span>
</td>
<td class="nump">$ 15,562<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<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 7: 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 8: 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 9: 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 10: 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 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)(ii))<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/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 21: 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 22: 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 23: 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 24: 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 25: 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/2147477314/942-235-S99-1<br><br>Reference 26: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rock_ResidentialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rock_AgtechMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rock_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_InfrastructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rock_InfrastructureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - Subsequent Event - New Share Repurchase Program<br> $ in Millions</strong></div></th>
<th class="th">
<div>Apr. 28, 2025 </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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_srt_StockRepurchaseProgramAuthorizedAmount1', window );">Share Repurchase Program, Authorized, Amount</a></td>
<td class="nump">$ 200<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_ShareRepurchaseProgramDuration', window );">Share Repurchase Program, Duration</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ShareRepurchaseProgramDuration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Repurchase Program, Duration</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_ShareRepurchaseProgramDuration</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership.</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 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-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;">srt_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-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_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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_ShareRepurchaseProgramAxis=rock_NewShareRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareRepurchaseProgramAxis=rock_NewShareRepurchaseProgramMember</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>75
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( &5 GEI&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( &5 GEK3._T&\@   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DL%.PS ,AE\%Y=XZ:0&AJ,N%:2>0D)@$XA8E
MWA;1M%%BU.[M2<O6@> !.,;^\_FSY,8$:?J(3[$/&,EANAI]VR5IPHH=B(($
M2.: 7J<R)[K<W/71:\K/N(>@S;O>(U2<WX)'TE:3A@E8A(7(5&.--!$U]?&$
MMV;!AX_8SC!K %OTV%$"40I@:IH8CF/;P 4PP0BC3U\%M MQKOZ)G3O 3LDQ
MN24U#$,YU',N[R#@]?'A>5ZW<%TBW1G,OY*3= RX8N?)+_7]>KMAJN+53<&O
MBYIO125Y+?G=V^3ZP^\B['OK=NY_&0O^S?@LJ!KX=1?J$U!+ P04    " !E
M0)Y:F5R<(Q &  "<)P  $P   'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4
M?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.'X416(UL>621A'^_1S80RY8-[9)-
MNIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X8-DOV]:[MR_>X%<R)!%!,!FGK_#
M"J5,7K5::0##.'W)$Q+#W(*+"$MX%,O67.!;&B\CUNJTV]U6A&ELH1A'9&!]
M7BQH0-!445IO7R"TY1\S^!7+5(UEHP$35T$FN8BT\OELQ?S:WCYES^DZ'3*!
M;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'T=)(@(+)?90%NDGVH],5"#(-.SJ=
M6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+<!P$X%&[GL*=]&R_I$$)M*-IT&38
M]MJND::JC5-/T_=]W^N;:)P*C5M/TVMWW=..B<:MT'@-OO%/A\.NB<:KT'3K
M:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8<';6S-(#EEXI^G64&MD=N]U!7/!8
M[CF)$?[&Q036:=(9EC1&<IV0!0X -\313%!\KT&VBN#"DM)<D-;/*;50&@B:
MR('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_::L!I^V[F\^3_'/HY)^GD]=-0LYP
MO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR
M([O=]EA]]D]';B/7J<"S(M>41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQ
MEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1
M]E6\W*.76!4!EQC?-*HU+,76>)7 \:V</!T3$LV4"P9!AI<D)A*I.7Y-2!/^
M*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S&L%&KQMUAVC2/'K^!?F<-0H<D1L=
M F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV&G*U%H&V<:F$8%H2QM%X3M*T$?Q9
MK#63/F#([,V1=<[6D0X1DEXW0CYBSHN0$;\>ACA*FNVB<5@$_9Y>PTG!Z(++
M9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'HYI9";V$5FJ?JH<T/J@>,@H%\;D>
M/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>
M1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@YG\#L_6@^GO'M^MDDA*^:62TC%I!+
M@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2GD(;;NE3]4J5U^6ON2BX/%ODZ:^A
M=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9=
M=N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8
MT='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7
M\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I
M=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*POFH]M!5.S_Y9K<B?#!%.%@L22&.4
M%Z9*HO,94[[G*TG$53B_13.V$I<8O./FQW%.4[@2=K8/ C*YNSFI>F4Q9Z;R
MWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z
M;I,[2$R<><41 71% B.5' 86%S+D4.Z2D 83 <V4R43P H)DIAR F/H+O?(,
MN2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7<N/O[Y-J=XS7^BR!;814,F35%\I#
MB<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@2\-Z;ITM)__;7M0]M!<]1O.CF> >
MLX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[
MM'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ
M#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1.
M"CS<_N\-L,+$CN'MB[\!4$L#!!0    ( &5 GEH$5">@]04  ,H?   8
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
MP7VAS -P?R:EWIV8%^3;]]W_ 5!+ P04    " !E0)Y:D.G_G6,$  !%$
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
M'O_BG4.1Z2\7I6K_HL?.-IBAO%%:5%UC4% 5]>X_>^H",6B PXD&I&M WMJ
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
M@_WX8HO2W;N[QW='GJRM^^0KHB#N:FW\:5:%T!R/QSZOJ)9^9!LR^%):5\N
MI5N-?>-(%M&IUN/I9/)R7$MELME)?'?E9B>V#5H9NG+"MW4MW?T9:;L^S?:S
M_L6U6E6!7XQG)XU<T8+"A^;*834>4 I5D_'*&N&H/,WF^\=GAVP?#7Y5M/8;
MSX(K65K[B1<7Q6DVX81(4QX80>+OELY):P9"&I\[S&P(R8Z;SSWZVU@[:EE*
M3^=6_Z:*4)UF/V2BH%*V.ES;]4_4U7/$>+G5/OZ*=6<[R43>^F#KSAD9U,JD
M?WG7\?!/'*:=PS3FG0+%+%_+(&<GSJZ%8VN@\4,L-7HC.65X4Q;!X:N"7YB=
M2:^\N"S%E2-/)DCFZF0< ,T&X[R#.4LPTZ_ '(AWUH3*BS>FH&+;?XR4AKRF
M?5YGTR<!WTDW$@?[>V(ZF1X]@7<PU'D0\0Z^@G?I5M*HOV)Y>^+<&F^U*F12
MABFVRA>V%&^5D2974HL%7A)D&+SX8[[TP4%(?^YB*"5PN#L!;JYCW\B<3K.&
M8[E;RF;??K/_<O+JB?(.A_(.GT*?G<T7%PMQ^59<7;]9O'E_,[^YN'R_*\G_
M "-N*D+WY+9NI+E79B5:(]M"!2I$/A")13EPYA\X Y<_JJ63.D@G+DP!23M%
M?@_/^4@\"\#.SA-T]EQ4\I;$DL@(D-1(!]3E/?1N," 83R@34W$%(A%Z)53B
MPV@Q$BLRA"#ZGC]3P^FP76L")]PXA<0:35Y@C@$DD%/U1L+*I/G6RR$"<V[*
M(-\V3A O@A4\"L3^Y,4OT6SN@LHUX077>4VK5B>,Q8O?1Z@P0MA&F4Y5#X7L
M"20K9/$1?"2BGC&7RL=\86HX'XVYE[?.\;L-V^>1=U40\V,H)^\Q4&-I'+"4
MRHGFD:"QQ*#R@U'/08-?6VP0#Z9TBR8>Q7WOMN8[;"0L9>(!^R(\26^-U*\Z
M1$P19L0"VR$8?_0;!&^&!][C\(QH;!B*49I-"I5+'MJ</^?<@]!=@Z'.BNO0
M?+OT]+E- MD"AL% 2PO&[XD'R_]2M*]LJZ%+SD<6K$CX?&Q-.F8&Y>ST98I0
M)W3(/!$$U=/-.&&+<&E,&YEKK L"T+WV?AY*XFH$\<@5K\%<O03WW= \3%5N
ME;.4.K9-.NYE^-().O!)!A 7F <%SM8Q5D_0[KH";/##<?;$LL6319&\I5V!
M4>_=/C[NMM+:D%AQV$75=?V_[VO>4$UA-_<C]&?."ID_^%\Y:_"<=U5L"%[0
MK=1M9(T3=U^XXE@PA72%^-!PT1AHJ5#^%BKK*1'"PN8.AC=JH+*D> WAW6;M
MEA!K/.+V(A$%DG<XY1$U>D?>"]OT38PU@)OMK-=1CDQU;&*)*<,M@.)3.);.
MMB ;ZU4Z"/N. O9&?S.5TE>BQ)7-]YO6$1-EA:(>!H:Q#Q'S2IH5[T:OFHZX
MK3W;RAYSZE;9UH.=0OE<@[D=O3!/O7#]1"^4\);ZZ9;8==*.-RY/-;E5O")Z
M$?--]ZCA[7 +G:?+UX-YNL+BTK+"@2$TE7"=C+X_RH1+U\*T"+:)5[&E#;C8
MQ<<*,X0<&^ [-T*_X ##W7SV-U!+ P04    " !E0)Y:?XIF:1,#  "-!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q]5>]S$C$0_5=VSHZC,[4'
M![6U C. .-;1V@&J'QP_A+L]+II+SF2!ZE_O)@=75,H7R(]];]\FV7>]C;$_
M7(%(<%\J[?I1051=Q;%+"RR%.S,5:M[)C2T%\=0N8U=9%%D E2I.6JV7<2FD
MC@:]L'9K!SVS(B4UWEIPJ[(4]M<(E=GTHW:T6YC*94%^(1[T*K'$&=)==6MY
M%C<LF2Q1.VDT6,S[T;!]->KZ^!#P6>+&[8W!5[(PYH>?7&?]J.4%H<*4/(/@
MOS6.42E/Q#)^;CFC)J4'[H]W[&]#[5S+0C@<&_5%9E3TH\L(,LS%2M'4;-[A
MMIYSSY<:Y<(O;.K8Y#R"=.7(E%LP*RBEKO_%_?8<]@"7K4< R1:0!-UUHJ#R
MC2 QZ%FS >NCF<T/0JD!S>*D]I<R(\N[DG$T&*:I66ER,,44Y5HL%)["#5(O
M)F;W,7&Z91K53,DC3!WX:#05#B8ZP^QO?,RJ&FG)3MHH.4KX4=@SZ+1/(6DE
MYT?X.DVIG<#7>83OH4('7X<+1Y:?Q+=#A=8\W<,\ODVN7"52[$?<!P[M&J/!
MTR?MEZW71U1V&Y7=8^R#X7C\Z>YF/H/I9#RY_CP<?9CPA4SFAW0>93JL<SX=
MOIGL<<\".<P+A-PH;E&IET#^D*"R9BTS/BP!EK=>L -LA,W Y$ <+GRTT*D'
M6D@M9I) &><8X5=\#!46$4K_+J!"*TT&Z%\'\-VF17.Y'"<(I.-VRE8I\7YN
M35EG*8TE^9N74N/(-R"'>0569,BN\'"E9""4J2D -1L:@_EM ]Y7&%@Y9(%,
MI%0]?R8UQYJ5$SISSZ]@A$NIM3^!A5"A-!&2O1=ZQ8X%.[DGT#GMO.K"2&0L
M>5%GT(X[QV=E .LR:ZZ79;63+C1-MK&2"#6'Y""6;)E<TL,YL@HPK-V"R+YS
MZ[/W,>;91;OSW#?5_[K^.<432$XO6^=PZ!7&>Q91HET&(W00=-5NT:PV7CNL
M+>8AO#9JSLK'Y$!ASM#6V05;FZW-KYZ0J8+A+ RQ?85AP=\+M#Z ]W-C:#?Q
M"9HOT. /4$L#!!0    ( &5 GEH3[8@+Z@0  *P+   9    >&PO=V]R:W-H
M965T<R]S:&5E=#$Q+GAM;*56RV[C-A3]%4(-VDU@.[;S0!X&DDR*SF(&0=),
M%T47-'4ML:%(E:3B9+Z^YU*R(L\D+HK9V"1U'^>>^R#/U\X_AI(HBN?*V'"1
ME3'6I^-Q4"55,HQ<319?5LY7,F+KBW&H/<D\*55F/)U,CL:5U#9;G*>S6[\X
M=TTTVM*M%Z&I*NE?KLBX]45VD&T.[G111CX8+\YK6= ]Q8?ZUF,W[JWDNB(;
MM+/"T^HBNSPXO9JS?!+XHFD=!FO!D2R=>^3-Q_PBFS @,J0B6Y#X>Z)K,H8-
M <8_G<VL=\F*P_7&^J\I=L2RE(&NG?E#Y[&\R$XRD=-*-B;>N?5OU,5SR/:4
M,R']BG4K.S_.A&I"=%6G# 25MNV_?.YX&"B<3-Y1F'8*TX2[=910?I!1+LZ]
M6PO/TK#&BQ1JT@8X;3DI]]'CJX9>7-S1$]F&SL<1QOAHK#K%JU9Q^H[B3'QR
M-I9!W-B<\FW],4#T2*8;)%?3G08_23\2LX-],9U,#W?8F_61S9*]V>[(Q,J[
M2EP#JT<%@-U8BNO$*WGQY^4RI/._WB*@M3]_VSYWRVFHI:*+#.T0R#]1MOCY
MIX.CR=D.]/,>_7R7]5UY^0_%FR\WGQ]NQ+TT%(2VRC0Y%G[(ANK8""T=JJ,C
M"#2Y\,ZMA+0Y-HW-9>H=Z$9MVG7M7=Y =U\$;0M#HG;:QJ2AB.T:_95RU*@V
M(KR$2!5$H]?\MS(RE-#"LJ(H37*&_;[PF!\BUZ$&C*&79-?%$LF22E$(SFN"
MNJ<4@5P"@%Q;MIE$BR9&R!:-]'DX0W\&7=CD@6P!JLBG325MLX)^P]NDJ&T
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
M=TQ/&%<Y^T5+Y=@7H5QM! M!)^3\XV)AG0%^_KG/0T&!Z7X%B%.O;,4S<38
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
MIP/0_4#;OU@U]T/DG;)4^W[9T'\ U$Z OL^4LNL7YV#SKV+\'U!+ P04
M" !E0)Y:])E'MG\%  !4#0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX
M;6R=5VMOVS84_2N$^E@"N+8L.TV:)@;R:+<"25NDV?9AV =*NK:Y4J)"4G;]
M[W<N9<M.8GL/((@IZC[.N2]29W-CO[LID1<_"EVZ\VCJ?77:Z[EL2H5T75-1
MB3=C8POI\6@G/5=9DGE0*G0OB>.WO4*J,AJ=A;VO=G1F:J]525^M<'512+NX
M)&WFYU$_6FW<J<G4\T9O=%;)"7TC_VOUU>*IUUK)54&E4Z84EL;GT47_]'+(
M\D'@-T5SM[$6S"0UYCL_?,K/HY@!D:;,LP6)GQE=D=9L"# >EC:CUB4K;JY7
MUC\&[N"22D=71O^N<C\]CTXBD=-8UMK?F?DOM.1SQ/8RHUWX+^:-;'(<B:QV
MWA1+92 H5-G\RA_+.&PHG,0[%)*E0A)P-XX"RFOIY>C,FKFP+ UKO A4@S;
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
MBL^>F9!L*3D@2X$PIF9HI0],(N<8(!-4VJQ\026PQHQ;X+[PEZX:1 LJ[;0
ML W3F<&G3@4Q()DO57GZO692K 1N516)HOL(! .1DK\>UNZ25>DWJ$MA<;WB
MVM$I6FUE=]:ZPA1)OZ")80RYP*58"_*W8MJ*5*!K2,V_FILI/#K]+B$40>R#
MT[NBDNJ%<_@H-#*HTB;DZL##_5G#V="/HNA_251( @8^*,&KCN"?#>6LP&SY
M(.&^M-::>IL2Q1ND68MT=[\/,$:_$-8CV/J$NI#@N<9$IEQ4UH&HT;^ I*HU
M>6!)D'9:U-+J?R=. ]BAW6OOX2G@"+32E6/(R),K.PJ.*-=@7>0JK9X%Q9:,
ME'6Q1'R$:ULS/G"H)ZNUVT?0<HTP"D_0O@R07M$5XE<F%8IMA,V=[,:-,IZ=
MLF>N<3)[?:<9U@NLF-#PS&3-R2AGJ,$EZ-R1-/V,&W\^M=C^:!3N75OLKWPX
MCD_@.#F!>=P_&T=P!-/Q8'8&DWE_,D_P=C8;S")7R&][#"91?S:._::S&)*S
M_G06MYM(]=.V!G[_;9[$LP_F4!/",4DDT8?%XU?C+N,/)U@4CB\Q_:$<FK!3
M;?L^<+0A2J2M3J*\,&>ZI!1QI!LJ[]()EJE X0Z,@0L!827;K0FL$ IU'SQ_
MJ?)52VAN:UW2NBB?,4(HD[)*$($>][Y\OK_%5B68M*OK-%X+E84"^8A5[U"'
M&8SF NKQ9!#]J2ETY)HU)PL.H:L&GCDRP@.6TMC>R;0_FHY"+#="2FQ9A*5=
MXS34@%VXY(X36O]F/]$HMS2PGW:<WZ'V0!\V9T@E&M.ZW>IF/:V1%T&N1L]]
M6!Y8R?S!H*''&OL%=78&5RB+A\?%HBV+P(#H46USI<5_T-A6ZVN4G=%3H=I
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
M2;T$$@N%Z]*3-^B >+NRYE*&\N+J!MGDBOQ5" LIGZW4M8=S$[#"EY$#H;,
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
M;:1!AM26K;5J8)Q!1=HE;L_G.-)M[Q.G8%D+8X0Y93]\5\9Q_F+L.JL5R,M
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
M@[N%^3MEU_FZB1:UZS9[H4WO<L/2?"Q V@#S/A="'R=V@^'SD_X!4$L#!!0
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
M?S8>.2#;+M0.M"@;YZ^%-GVD"7/3N%':!+.^$4+O!G:#_E>0_ -02P,$%
M  @ 94">6CFF>EX" P  A@8  !D   !X;"]W;W)K<VAE971S+W-H965T,C8N
M>&UL?55M;],P$/XKIS"A31I+FW0P1EMIY46 -#1MO'Q ?'#C2V-P[&!?VL&O
MY^RT:8&N7UJ_/,]SS]F^RWAEW0]?(1+<U]KX25(1-9=IZHL*:^'/;(.&=TKK
M:D$\=8O4-PZ%C*1:I]E@\#2MA3+)=!S7;MQT;%O2RN"- ]_6M7"_9JCM:I(,
MD\W"K5I4%!;2Z;@1"[Q#^M3<.)ZEO8I4-1JOK &'Y22Y&E[.1@$? 9\5KOS.
M&$(F<VM_A,D[.4D&P1!J+"@H"/Y;XDO4.@BQC9]KS:0/&8B[XXWZFY@[YS(7
M'E]:_45)JB;)10(22]%JNK6KM[C.YSSH%5;[^ NK#IN/$BA:3[9>D]E!K4SW
M+^[7Y[!#N!@\0,C6A"SZ[@)%EZ\$B>G8V16X@&:U,(BI1C:;4R9<RATYWE7,
MH^E54=C6D(=;+% MQ5SC*7S@QW#\,8S]R3@E#A/ :;&6G'62V0.2.5Q;0Y6'
MUT:B_)N?LKW>8[;Q.,L."EX+=P;Y\!2R079^0"_O<\ZC7OZ WC95#U^OYIX<
MOXUO^Q+M=$;[=4*]7/I&%#A)N" \NB4FT\>/AD\'+PZX'/4N1X?4IW=<?[+5
M"+:$/;>TS^Y!P?UV/U8(I=5<F\HL@((R-,XNE>3#$>!XZPF7_DHX&8P0PT5
M"U,$HH/"H50$VGK/C+ 2,%0Y1*C#.X &G;(2,+P&X+LLJOXR&2<(E.<ZDFU!
MO%\Z6W=1:NM(_>:EPGH*E<>PX, )B=P.ME=(%F(^AB+1\.-E,A\7X'V#494A
M<V0AK;OYL3*,M:T71OJ32YCA0AD33F N=$Q-Q&#OA6FY5<'&[A'DI_GS$<R$
M9,OS+H+Q7#(A*A/8EUUROFQKF(VV][9RB@@-0TH0"^Z5G-+V'-D%6/;N0,CO
M7//<])AS_&R8GX0B^M_7/Z=X!-GIQ> <]KVZ=*<WU.@6L0-ZB+ZZ-M&O]DWV
MJNLM6WC7H3DJ'Y,'C253!V?/SA-P7=?K)F2;V&GFEKAOQ6'%'PIT <#[I;6T
MF80 _:=G^@=02P,$%     @ 94">6O"TOIV< @  H@4  !D   !X;"]W;W)K
M<VAE971S+W-H965T,C<N>&ULA53?3]LP$/Y73MDT,2F0GZ5=UT:B,#0>F!"P
M\3#MP4VNC85C9[9#X+_?.6FS,I7N)3Z?[SY_E_-WLU;I1U,B6GBNA#1SK[2V
MG@:!R4NLF#E1-4HZ62E=,4M;O0Y,K9$575(E@C@,3X.*<>EEL\YWH[.9:JS@
M$F\TF*:JF'Y9H%#MW(N\K>.6KTOK'$$VJ]D:[]!^KV\T[8(!I> 52L.5!(VK
MN7<631>IB^\"?G!LS8X-KI*E4H]N<U7,O= 10H&Y=0B,EB<\1R$<$-'XO<'T
MABM=XJZ]1;_L:J=:ELS@N1(/O+#EW)MX4."*-<+>JO8K;NH9.;Q<"=-]H>UC
MD]B#O#%659MD8E!QV:_L>?,?=A(FX1L)\28A[GCW%W4L+YAEV4RK%K2+)C1G
M=*5VV42.2]>4.ZOIE%.>S:[D$TJK-$?CPS=Z!$?W;"G0?)P%EN!=4)!OH!8]
M5/P&5 +72MK2P!=98/$Z/R!: [=XRVT1'P2\9OH$DLB'.(Q'!_"2H=:DPTO^
M4^L+7'"3"V4:C?#S;&FLIL?Q:U_%/6"Z'] )9FIJEN/<(T48U$_H91_>1:?A
MYP-TTX%N>@@]NR,!%HU 4"O8:=,^F@>!]M-\U7A)C:=;-H?DR!7)SE@LG-N6
M""LE2+]<KN&(2_*HQC!9F(]3H"[EY= FN, <JR7JK2>%6];2B[6H.1/P'J(P
M]4?CB*SQQ)],)O! LCWF\KC6*D=C*,D_C4.()G[T:0277')ZW@6LE2H,I",_
MBA)((S\<C>%>6<+D_Y9"EXQ#/PE39R6$DX:PKR'!CFXJU.MN.A@JOI&VE]#@
M'0;06:^[O^']]**_L.;2@, 5I88GXY$'NI\(_<:JNE/A4EG2=&>6-$11NP Z
M7REEMQMWP3"6LS]02P,$%     @ 94">6G;XJ2K*!   *PT  !D   !X;"]W
M;W)K<VAE971S+W-H965T,C@N>&ULU5?;;N,V$/V5@;LHLH :2[+D2VH;L--F
MF\5N:VRRR4/1!UJB+2(4J26I>-.O[Y"T9">QW3P5Z(O-RW!FSIGA<#3>2/6@
M"TH-?"^YT)-.84QUT>WJK* ET>>RH@)W5E*5Q.!4K;NZ4I3D[E#)NW$8]KLE
M8:(S';NUA9J.96TX$W2A0-=E2=33G'*YF72B3K/PA:T+8Q>ZTW%%UO2&FJ_5
M0N&LVVK)64F%9E* HJM)9Q9=S/M6W@G<,;K1>V.P2)92/MC)=3[IA-8ARFEF
MK :"?X_TDG)N%:$;W[8Z.ZU)>W!_W&B_<M@1RY)H>BGY/<M-,>D,.Y#3%:FY
M^2(WO]$MGM3JRR37[A<V6]FP UFMC2RWA]&#D@G_3[YO>7C+@7A[('9^>T/.
MRU^((=.QDAM05AJUV8&#ZDZC<TS8H-P8A;L,SYGI+/M6,\TL0QK.;LF24_U^
MW#6HV@ITLZV:N5<3'U'3@\]2F$+#KR*G^?/S772I]2MN_)K')Q5^)NH<>E$
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
M1MTA%=$TX[+9.%WY$;76C@:>7^;T#P,-&]#WC=;NL.$#VO\LLW\!4$L#!!0
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
MSI6RU.I^6=!L1>T<Z#Q7RFXW+D WK9-_4$L#!!0    ( &5 GEK;FL:G$@,
M +@'   9    >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;)55;6_3,!#^*Z<@
MH4T:2YJV&XPV4KL-@<1$M0[V ?'!32Z--<<.MM..?\_92;-5ZTKYD/CM[O%S
MKQZME7XP!:*%QU)(,PX*:ZN+,#1I@24SIZI"22>YTB6SM-3+T%0:6>:52A'&
M4706EHS+(!GYO9E.1JJV@DN<:3!U63+]9XI"K<=!+]ALW/)E8=U&F(PJML0Y
MVN_53-,J[% R7J(T7$G0F(^#2>]B.G3R7N 'Q[5Y-@=GR4*I![?XDHV#R!%"
M@:EU"(R&%5ZB$ Z(:/QN,8/N2J?X?+Y!_^1M)UL6S."E$O<\L\4X>!] ACFK
MA;U5Z\_8VN,)IDH8_X=U*QL%D-;&JK)5)@8EE\W('EL_'*(0MPJQY]U<Y%E>
M,<N2D59KT$Z:T-S$F^JUB1R7+BASJ^F4DYY-KIF67"X-5*AA7C"-<'3'%@+-
M\2BT=($3"],6;-J Q:^ ]>%&25L8N)899MOZ(1'KV,4;=M-X+^ -TZ?0[YU
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
M'^;TWT'M-M#WE5)V-W$'M'^RY#=02P,$%     @ 94">6G<=4_ZH P  ]P\
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
M6(.[KY8&+=:S%*($9856Q,!V2F?#R3SQ_L'AFX#&'JV)SV2C]8,W;HLIC7Q
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
M'MCV@]OV1-!5]<WJ@0HI6ZO#)9'-R4H#^?N<4O%R4GX&:SY[3O\%4$L#!!0
M   ( &5 GEJ=CSDJ? (  .\%   9    >&PO=V]R:W-H965T<R]S:&5E=#0W
M+GAM;*U4WT_;,!#^5ZP,32!M)$U"82R-U!^P\8!4T;$]3'MPDVMCX=B9[31L
M?_W.3AH*%,3#7F+[?-_G^RYWES12W>D"P)#[D@L]\@ICJG/?UUD!)=7'L@*!
M-RNI2FKPJ-:^KA30W(%*[H=!,/1+RH27)LXV5VDB:\.9@+DBNBY+JOY,@,MF
MY V\K>&&K0MC#7Z:5'0-"S"WU5SAR>]9<E:"T$P*HF U\L:#\VEL_9W#=P:-
MWMD3JV0IY9T]7.4C+[ ! 8?,6 :*RP:FP+DEPC!^=YQ>_Z0%[NZW[)=..VI9
M4@U3R7^PW!0C[\PC.:QHS<V-;+Y"I^?$\F62:_<E3><;>"2KM9%E!\8(2B;:
ME=YW>=@!(,]^0-@!PJ> ^ 5 U $B)[2-S,F:44/31,F&*.N-;';C<N/0J(8)
M^Q<71N$M0YQ)OTB9-XQS0D5.;H!3 SFY$H:*-5MR(&.MP6CRD2RP?O(:+7)%
MQJ54AOVE[D=<W&-%:2"',S"4<7V$SK>+&3D\."('A GRK9"U1GJ=^ 8CMN_Z
M61?=I(TN?"&ZB%Q+80I-+D0.^6.\CTI[N>%6[B1\E?":JF,2#3Z0, A/]L0S
M?3L\?B6<J,]^Y/BBMV3_>=9G3&=<ZEH!^3E>:J.PZ'_MRV+[2KS_%3L(SG5%
M,QAYV.D:U :\]/V[P3#XO"\%_XGL44+B/B'Q:^SIH\J"MK+V"6Y9AH[%#JI-
M&I]\.DO\S:Z0YT[AZ>#!J0W0W^F=$M3:C11-,ED+T]95;VVGU@2GENON)W:<
M9F/7Q/X#33L*L6K63&C"8864P?$IS@+5CI?V8&3E.G0I#?:[VQ8XD4%9![Q?
M26FV!_M /^/3?U!+ P04    " !E0)Y:8M).$WH"  !Y!@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970T."YX;6R-E5%OFS 4A?^*Q:JIE:9"3""T(TAILW5]
MF%0UZ_8P[<&!FV#58&:;D.W7SS849:O;["78QN=^YSBV23LN'F4)H-"^8K6<
M>Z52S:7OR[R$BLASWD"MWVRXJ(C27;'U92. %%94,1\'0>Q7A-9>EMJQ.Y&E
MO%6,UG GD&RKBHA?5\!X-_<FWM/ /=V6R@SX6=J0+:Q /31W0O?\L4I!*Z@E
MY342L)E[B\GE56+FVPE?*73RH(U,DC7GCZ9S6\R]P!@"!KDR%8A^[. :&#.%
MM(V?0TUO1!KA8?NI^D>;76=9$PG7G'VCA2KG7N*A C:D9>J>=Y]@R!.9>CEG
MTOZB;I@;>"AOI>+5(-8.*EKW3[(?UN% @/$+ CP(L/7=@ZS+)5$D2P7OD#"S
M=373L%&M6INCM?E35DKHMU3K5';#>=%1QA"I"W0/C"@HT&VM2+VE:P9H(24H
MB4Y7>C<4K1[@&[2HN%#T-['+^F&O]X>$,W2Z!$4HDV?H!-$:?2EY*W51F?I*
M^S0T/Q\\7?6>\ N>/A-QCL+).X0#'*&'U1*=GIS]7<;7,<>L>,R*;=WP?[(^
MS[BD,F=<M@+0]\5:*J%WS ^7^YXR=5/,*;J4#<EA[NEC(D'LP,O>OIG$P?M7
M,H1CAO"UZIE9$I>G7A5;E3F(NTP#DUGJ[QRPZ0B;'H/%+EBOB@YA$8ZP&Q:-
ML.@8;.:"1<]AX47\0K)XA,7'8(D+%CM@. C=L-D(FQV#7;A@,P=L$DW=L&2$
M)4=@8>"")<\WR"3&_R;S#VX2<RGKH[BEM40,-EH7G,^T6]%?='U'\<9>+FNN
M]%5EFZ7^-H P$_3[#>?JJ6/NJ_%KD_T!4$L#!!0    ( &5 GEJ#JP)<U04
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
M0'T3VV:BOY5 F@ ]OA0"MQUS'==?7^$?4$L#!!0    ( &5 GEIQJRZAN (
M ' )   9    >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;,56T6[:,!3]%2N3
MIE8:34B =!U$HK13*ZT3*MKV,.W!)!=B-;93VT#9U^_:22-0 ;43TW@@OLX]
MQS['OK'[*ZD>= Y@R!,OA!YXN3'EA>_K- =.]9DL0>";F52<&@S5W->E IHY
M$"_\, AZ/J=,>$G?]8U5TI<+4S !8T7T@G.JUI=0R-7 :WO/'?=LGAO;X2?]
MDLYA N9;.588^0U+QC@(S:0@"F8#;]B^&,4VWR5\9[#2&VUBE4RE?+#!;3;P
M CLA*" UEH'B8PDC* I+A--XK#F]9D@+W&P_LW]VVE'+E&H8R>('RTP^\,X]
MDL&,+@IS+U<W4.OI6KY4%MK]DU65&W_T2+K01O(:C#/@3%1/^E3[L %H1WL
M80T(7PN(:D#DA%8S<[*NJ*%)7\D5438;V6S#>>/0J(8)NXH3H_ M0YQ)KA\7
MS*Q;E^A$1D:2X^[0U!E\<BM2$-9D,BZH."4G5V H*_0I:=E,CCD3(],'#'5.
M%>B^;W!&EM=/Z]$OJ]'#/:/?T34)H@\D#,)H!WKT"G3'H<-MM(\N-%:$C16A
MH^OLH1OBYLS0A3!HGSO)N_0<I+ E=Z%+FL+ PYK2H);@)>_?M7O!IUWRCD2V
MI39JU$:./=JC=F*7K#5]N>Y#I:B8 YIAR'1--O/&=.VZARNJ,O+S"U*26P-<
M_]IE571,JXY$MF55I[&J<W!C?%WP*2@B9_4^)W1A<JG8;[3DA(FZ]W27!Q5Q
MUQ';#^HR:?>B=AS$?7^Y*>_@!/Y27K>1USTL3XK6-2\+N08@5TSA!U8JO;<"
M#I*]=5F/1+:EN]?H[OWG"N@=TZHCD6U9%3=6Q?^J @X2O]6#^$4YX6T%?TTU
M5>K\C?/0WD7NJ)HSH4D!,P0&9S$RJ.I\KP(C2W=$3J7! ]<U<[P2@;()^'XF
MI7D.[*G;7+*2/U!+ P04    " !E0)Y:7L3)6L\#  !]#@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970U,BYX;6S%5VUOVS80_BL';1@2H+%>_"([LPW82=L5
M: LC7ML/PS[0TMD6(HDN2=G-O]^15.0W15L #\V'F*1X#^]Y>$?RACLN'N4:
M4<&/+,WER%DKM;EU71FM,6.RQ3>8TY<E%QE3U!4K5VX$LM@89:D;>%[/S5B2
M.^.A&9N)\9 7*DURG F0198Q\33%E.]&CN\\#SPDJ[72 ^YXN&$KG*/ZLID)
MZKD52IQDF,N$YR!P.7(F_NV=W]8&9L;7!'?RH V:RH+S1]WY$(\<3WN$*49*
M0S#ZV>(=IJE&(C^^EZ!.M:8V/&P_H[\SY(G,@DF\X^FW)%;KD=-W(,8E*U+U
MP'=_8$FHJ_$BGDKS'W;E7,^!J)"*9Z4Q>9 EN?UE/THA#@P(I]X@* V"4X/.
M"P;MTL HYUK/#*U[IMAX*/@.A)Y-:+IAM#'6Q";)]3;.E:"O"=FI\=OO1:*>
M;J:D1 QW/*/PD,P(?#6GD(F+%($OX7.1+5#HUF3'1"R!Y3%\,QJ1W62+@O8<
MW@N6*R _$-ZQ1,!7EA9X#5?WJ%B2RFNX@5_!!;EF N705>2_]L*-2E^GUM?@
M!5_;\(GG:BWA;1YC?&SO$N^*?/!,?AHT GYBH@5M_PT$7M"M\>?NOYMW&MQI
M5WO1-GCM%_#F6I>;Q?E63 0)NT+*'@6+)SB<-V-/9MAL"_SUD2#A@\),_EVG
MKUV_4[^^/C%NY89%.'+H2) HMNB,?_O%[WF_UXES(; CJ3J55)TF]/&?'!8(
M$<\I\G0$*EY&%5PE.11YHN1UG0"-J*\5P()U#9@^+K?CH-?NM8?NMH99MV+6
M;6;&Q(I.;Y;Q@K9UI3,*XS? *.5@@R*BS:94J^/6B/M:;A9L<,#-:W6Z]=1Z
M%;5>([49"G/OY!$"'6S1H]VH.BZ-0*_E<B&P(\YAQ3G\R3D=7E*J"X$=2=6O
MI.HWAH>]8RP<733,7C0ZGVUJUR9T_RP'^_Z@XU6!:FF=S^KVN_V@/IP'E;^#
M1G^KZX^5UY])5NM_K._ I;X#M_H.-"R^S.]U!ELVM63L>N&!F[U.*QQX^S__
MA-BY11BVPGI>OK=_$WB-S!Y0*I%$FMN_Y&DST&NC[U)HQ[0/GD+^3\[5TH%+
MR74AM&.Y@KU<P>7SM<0\2D4O[)S&=<VT8- +_1<B>__"\AM?)?]#SI8+GB3M
MX(S0^;2:3'4/'O(9TD- US>2WCGT%K#/VFK4UE!374/I0N!DG&JKB:DHW#V,
M+<SHT;I*<@DI+@G2:X6DL;"UCNTHOC'EPH(K*CY,<TWU(0H]@;XO.5?/';U
M57&._P%02P,$%     @ 94">6ECU%JR:!   91L  !D   !X;"]W;W)K<VAE
M971S+W-H965T-3,N>&ULQ5G1;N,H%/T5Y!VM6FE:VSA)TVYB*8V[VI$FHZC1
M[#ZL]H'8-$:U309PTTC[\0NV8\<M1<V(5?O0V, ]EWNXAW##9$?9(T\Q%N Y
MSPH^=5(AMC>NR^,4YXA?TBTN9,\#93D2\I5M7+YE&"6549ZYT/-&;HY(X823
MJFW)P@DM148*O&2 EWF.V/X69W0W=7SGT'!/-JE0#6XXV:(-7F'Q?;MD\LUM
M41*2XX(36@"&'Z;.S+^)H*<,JA%_$KSC1\] A;*F]%&]?$FFCJ=FA#,<"P6!
MY,<3GN,L4TAR'C\:4*?UJ0R/GP_HOU?!RV#6B.,YS?XBB4BGSM@!"7Y 92;N
MZ>X/W 0T5'@QS7CU'^R:L9X#XI(+FC?&<@8Y*>I/]-P0<60@<?0&L#& +PT&
M;Q@$C4'P7H-!8S"HF*E#J7B(D$#AA-$=8&JT1%,/%9F5M0R?%&K=5X+)7B+M
M1'CWHR1B?W$KJ4O G.8RGSBJ5N2L[@)UUVR'6,+!!9"9(#+90 HP1SP]!V<1
M%HAD_%QV?E]%X.S3^<05<FK*@1LWT[BMIP'?F$8 %K00*0=W18*3OKTK0VKC
M@H>X;J$1<('8)0C\SP!Z<*B9S_S]Y@.->60VCW#\EGDOFJ!=I:#""][ 6Z6(
MX8OUZT6:,8:*#99"%&"]!\?CEFA?-5<K!_[^*B'!%X%S_H]N>6K_ [U_M?G<
M\"V*\=21NPO'[ D[X:^_^"/O-QVW-L$B2V ]W@<M[P,3>CB+8U9*+G$MA9K8
M^&@!=%36D*,*4FV[3R&$UY[ZF[A/QS09?9]*D\9K<-7WVJ-@V%(P-%)PC[E@
M)!8R<+D9Q8^@+(C@NKB-.*>FD$VPR!)8C[]1R]_H@Z4[LLF[3;#($EB/]ZN6
M]RO[TJTAAT<B\FL-O92NT?>I-&F\CGV#=,<M!6,C!=]DELU+QE0J?25H33(B
M"-9JUPAT:@[9!(LL@?4(O&X)O/Y@[5[;Y-TF6&0)K,>[[W6G4L^^>AO,OI"N
M=/(U>S^5*HU?Z T- O:/3N?^NWBX>U:18_[Y(&AM_$:L4[/)*EID"ZW/(^QX
MA!^LY&8"MLBWB1;90NN3WQ4OOO&,_I-B#EZ):@"U6K9:;31HQ^?H )JDW)42
MOKF66* "-8FVJ@[2RY+%J>0"+#.DI\!F@3"WBA;90NN3V14E_O"C]6RUG+&*
M%ME"ZY/?532^\> >+E;+)<BZ R78(I* ,U( D=*2HR+A^I^ 1J^TY5_#L4;2
MKP="#P:O!D;FB?XL$5V)X9MK#+.DP;_@_<6SV=/)Z6:U/K&%UF>YJV+\\4=K
MW6KY8Q4MLH76)[^K@'SC03^</6$F<[SZND;%ODGCK4QJ#'*,>,EJ_K>8$9IH
MR34[D%^N($%[G2CF9M.3F?P_2AK8E3307-+H]P(0,YP0U:CV3ZY26+]Y-NB]
MS7,,Q\&+K5,S;. -@_&+C=,\UU.Y<(_N'W+,-M4]C@R-EH6H?[)O6^N[HEO_
M9EY=J;QHG_DWL^KFQ.U@Z@NH!6(;4G"0X0<)Z5U>R:] 5M_IU"^";JM;CC45
M@N;58XI1@ID:(/L?*!6'%^6@O5D+_P-02P,$%     @ 94">6L GB$=[!
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
MM51HQ],?*[M 0;L >[]2"O>&>Z!?R?D#4$L#!!0    ( &5 GEKAL,3/& ,
M %8*   9    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;,U676^;,!3]*Q:3
MIE;J"H%\=@E2FW9:I56*&FU]F/;@PDVP"C:S3=+]^UT;0D-#TD[*PUX2;.X]
MG'-\;=_Q6L@GE0!H\IRE7$V<1.O\PG55E$!&U;G(@>.;A9 9U3B42U?E$FAL
MD[+4]3VO[V:4<2<<V[F9#,>BT"GC,)-$%5E&Y9\K2,5ZXG2<S<0]6R;:3+CA
M.*=+F(/^GL\DCMP:)689<,4$)Q(6$^>R<S$=F7@;\(/!6FT]$Z/D48@G,[B-
M)XYG"$$*D38(%/]6,(4T-4!(XW>%Z=2?-(G;SQOT+U8[:GFD"J8B?6"Q3B;.
MT"$Q+&B1ZGNQ_@J5GI[!BT2J["]95[&>0Z)":9%5R<@@8[S\I\^5#UL)B-.>
MX%<)_NN$[IZ$H$H(K-"2F95U334-QU*LB331B&8>K#<V&]4P;E9QKB6^99BG
MPQLJ.>-+17*09)Y0">3D&C1EJ3HEGX@R,VKL:OR427"C"O:JA/7WP ;D3G"=
M*'+#8XB;^2Y2K'GZ&YY7_D' .RK/2= Y([[G]UKX3-^?WCU )ZAM"RQ>L ?O
MDFL6L[0P-4CF$!62:08H]SE*"U1,%E)D9"JRO-#4UJM8D-KK6>WUSV\(3&XU
M9.I7F\LEBVX["[/#+U1.(Y@XN(45R!4XX<</G;[WN<VB(X$U#.O6AG4/H8?7
MQBSTY83QJJA.V_26(#T+8@Z@51C@>N.1Y(W=U;:6ML#>H!'8X-FK>?8.\L0E
MRW"U<-]%3T3D9ND4H3RN9@K.M'I+1&^'F^^W2&@+Z^P5T*\%] \*>+ '%SI-
M5R#Q'*Z($CS!E48A6(!G)'[?:O1;3.X.NKM2V@('HV"OF$$M9O"NU=A["AU,
M_]?]<22PAM)AK73X7QPHPV,:=B2PAF&CVK#1P=)H&*9>#(.&8;!]O=DR(A%-
MHR(M/7RC_D<[9=WW=HM_-ZJ[6_CNUA6=@5S:SD612!1<E[=@/5LV1U?8'-DF
MXM4\-DV7ME=P7V#*C@OON"7#TRJ%!4)ZYP.D),LNIAQHD=M&X%%H;"OL8X*-
M'T@3@.\70NC-P'R@;B7#OU!+ P04    " !E0)Y:C+]C#=L(  !,2   &0
M 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6S%G%MOXS86Q[^*X"T6+3 S%F^Z
M9!,#$ZM% ^RT@Z3=?2CZH-BT+=26LA(]F2[ZX4M=8EHD<VPK-/R2^'+X)\\1
M+S\=TKI^+LH_JA7GPONZ6>?5S6@EQ-/5>%S-5GR35A^*)Y[+;Q9%N4F%?%LN
MQ]53R=-Y4VBS'F/?#\:;-,M'D^OFL\_EY+K8BG66\\^E5VTWF[3\\Y:OB^>;
M$1J]?'"?+5>B_F \N7Y*E_R!BU^?/I?RW7BG,L\V/*^R(O=*OK@9?41724#J
M HW%?S+^7.V]]FI7'HOBC_K-W?QFY-<MXFL^$[5$*O]]X5.^7M=*LAW_ZT1'
MNSKK@ONO7]1_:)R7SCRF%9\6Z_]F<[&Z&44C;\X7Z78M[HOG'WGG$*OU9L6Z
M:OYZSZUM$(Z\V;82Q:8K+%NPR?+V?_JU"\1> >*_4@!W!;!6 .-7"I"N #FV
M .T*T"8RK2M-'))4I)/KLGCVRMI:JM4OFF VI:7[65Y?]P=1RF\S64Y,'OA2
M7D7AW>5M'ZJOQ;<)%VFVKK[SOO&RW/ME56RK-)]7UV,A:ZS+C6>=^FVKCE]1
M)]ZG(A>KROL^G_-YO_Q8MG377/S2W%L,"GY*RP\>0>\\[&/F_?J0>-]^\YU7
MM4Y8VC<]7HZ^R%ED$E@FX;-#,CUOR>[BD$:7'+@X]_RI*$66+]]Y/XL5+[V'
M;)EGBVR6-E_.BGR6R;)+[T[PC??;OZ5,\[+ZW7;)VCJIO<YZGKFJGM(9OQG)
MB:3BY1<^FOSS'RCP_V6+KTNQQ)%8+]9T%VL*J4]^VFX>962+A9S-ZFBGCVO^
MTK$J[R^@C]VVPJP1KN?9+Q-Z/?ZR'R6PZE.CY$BL%R6VBQ*#HR17HBI=<^M<
MT!8-]N* 8]]'3 N&S0PS/^B;)6!#!KH9[-P,0#=_*42Z]N2XJHIU-D\%G\N)
M<%9LN+<HBXTG5]VRF2JM80B,[H 90[X6!=.*H)#H00";.3 (X2X((1B$NUQP
MJ2HZU]]Y.;=V_]#P! 4DU-PUC4*FA20!FS/0V6CG; 0ZV\ZK_*ODJ>IU5R/#
MB_>Q/M9-&^1CI+D*-F:@J_'.U?C =6UZ\B.7*S[W1/K5/IICLQN'/B.:MZ85
M(<S7KGX"-FB@N\A7B..##B=<RLZR%FXDR'CIIEY._]]\8(4:W_ J]B-M;$XM
M5D$0: %*X+8-]7T/[] 1,UE:55S8^0V9W962F*)(]Q:LY]0UK%,+>M4B6:V:
M$_H.8^4P!AV^YU4VEPMUEJZM_H*E3Z4?IVJ)*[5^Y!1LHDO0)G**FT[5$E=J
M_8 KXD0'D!."*612)0KCV%AN;'810TA?<>"V#/55<2."P?'C4O#9RNJH(]#K
MPN%2+7&EU@^:HE 47&)$.H+*+N NU1)7:OV *^)%,/+"(])D6,I\JH.]Q8Q0
M'^M(!+=DJ*<*=Q',N_<\Y\_U/:[=54=\VD7$I5KB2JT?. 7/*+[$F'1$R%W
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
M1@ +.T@2#(&G$4<P!^ !0Y+$O0?WWD?Q^CT5;_X[-GH$4$L#!!0    ( &5
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
M=:C>A?*"JV)F6?S9?3Z0Y7'O;UDK=1[*ONLKP\OG#_:>/S;\_"]02P,$%
M  @ 94">6G=+<84& @  \20  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN
M<F5L<\W92VKC0!2%X:T8+2#E^U*2)LZH)YDVV8!PR@]B6T*EII/=MW$&]A$]
MZ$FH,Q(EH:L?!!^B]/0K'[IIWY_*;C^4Q<?Q<"JK9C=-PX^4RGJ7CUVYZX=\
M.E_9]..QF\[+<9N&;OW>;7/2Y;)-X^V,YOGI=N;B]7/(_S.QWVSVZ_RS7_\^
MYM/TC\'I3S^^EUW.4[-X[<9MGE9-^CA<3Y=T.<C=>7*S>'E;->/+FS2I=I!"
MD-8/,@BR^D$.05X_*" HZ@>U$-36#[J'H/OZ00\0]% _Z!&"'NL'R1)E7!(D
MS; FT%J0:R'P6A!L(1!;D&PA,%L0;2%06Y!M(7!;$&XAD%N0;B&P6Q!O(=!;
M46\ET%M1;R706V<?VP1Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z
M*^JM!'H;ZFT$>AOJ;01Z&^IM!'K;;+.$0&]#O8U ;T.]C4!O0[V-0&]#O8U
M;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Y]M=A/H[:BW$^CMJ+<3
MZ.VHMQ/H[:BW$^CMJ+<3Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H':AW$.@=LY^5
M!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>K>H=TN@=XMZMP1ZMZAW^YUZE^GSD,NU
MYVN-S_].JJ?SO?GZ^,ORZ^3LO5QP3K<5Y?DO4$L#!!0    ( &5 GEK_)Z=U
MXP$  &PD   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:74_",!0&X+]"=FM8
MZ=?\B'"CWJH7_H&Z'61A6YNV(/Q[NP$F&B4:3'QO6*#M><]ZDN>*ZZ>MHS#:
MM$T7IMDB1G?%6"@7U)J06T==6IE;WYJ8OOH7YDRY-"_$Q&12L-)VD;HXCGV-
M;'9]2W.S:N+H;I-^#K7MIIFG)F2CF]W&/FN:&>>:NC0QK;-U5WU*&>\3\G1R
MV!,6M0MG:4/&ODSH5[X/V)][6)/W=46C1^/CO6G3+K9I6(C;AD)^O,07/=KY
MO"ZILN6J34?RX#R9*BR(8MODNZ)GQY-CNF':??*3\X<RQP+3SD=O74@3\_3[
MN,-(^M-CEPJ1C_7Q5WQ/3*5/?C_JIUU1]</L=+VOUB^'>00V/$Z_XX\S?J__
MRSX$2!\2I \%TH<&Z:, Z>,<I(\+D#XN0?K@$Y1&4$3E**1R%%,Y"JH<156.
MPBI'<96CP,I19!4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR"A19)8JL$D56
MB2*K1)%5HL@J4625*+)*%%DEBJP215:%(JM"D56AR*I09%4HLBH4616*K I%
M5H4BJT*15:/(JE%DU2BR:A19-8JL&D56C2*K1I%5H\BJ460M4&0M4&0M_E/6
M9VN7?QP_///6U-TAGPU_,IJ] 5!+ 0(4 Q0    ( &5 GEI&QTU(E0   ,T
M   0              "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%
M  @ 94">6M,[_0;R    *P(  !$              ( !PP   &1O8U!R;W!S
M+V-O<F4N>&UL4$L! A0#%     @ 94">6IE<G",0!@  G"<  !,
M     ( !Y $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " !E0)Y:
M!%0GH/4%  #*'P  &               @($E"   >&PO=V]R:W-H965T<R]S
M:&5E=#$N>&UL4$L! A0#%     @ 94">6I#I_YUC!   11   !@
M     ("!4 X  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    (
M &5 GEH80D1ZVP(  "$(   8              " @>D2  !X;"]W;W)K<VAE
M971S+W-H965T,RYX;6Q02P$"% ,4    " !E0)Y:[>:N1U\&  !)&0  &
M            @('Z%0  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#
M%     @ 94">6CH3 #E  P  $@L  !@              ("!CQP  'AL+W=O
M<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( &5 GEH0^%@=_P4  *47
M   8              " @04@  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q0
M2P$"% ,4    " !E0)Y:G898M&P'   /.   &               @($Z)@
M>&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ 94">6BG5'$G+
M P  .P@  !@              ("!W"T  'AL+W=O<FMS:&5E=',O<VAE970X
M+GAM;%!+ 0(4 Q0    ( &5 GEK@P^XBV 0  *<+   8              "
M@=TQ  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    " !E0)Y:
M?XIF:1,#  "-!@  &0              @('K-@  >&PO=V]R:W-H965T<R]S
M:&5E=#$P+GAM;%!+ 0(4 Q0    ( &5 GEH3[8@+Z@0  *P+   9
M      " @34Z  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%
M  @ 94">6K:4;%6= @  HP4  !D              ("!5C\  'AL+W=O<FMS
M:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " !E0)Y:E,N6=?@*   &(
M&0              @($J0@  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+
M 0(4 Q0    ( &5 GEIM@[O$8 4  &$,   9              " @5E-  !X
M;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ 94">6O291[9_
M!0  5 T  !D              ("!\%(  'AL+W=O<FMS:&5E=',O<VAE970Q
M-2YX;6Q02P$"% ,4    " !E0)Y:V)@S56D'  #%$P  &0
M@(&F6   >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( &5
MGEJE>^IJ8P4  *8,   9              " @49@  !X;"]W;W)K<VAE971S
M+W-H965T,3<N>&UL4$L! A0#%     @ 94">6M$?[Q8^ P  _0<  !D
M         ("!X&4  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4
M    " !E0)Y:HZH9V-D"  "\!@  &0              @(%5:0  >&PO=V]R
M:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( &5 GEIJX 4'/ D  (07
M   9              " @65L  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL
M4$L! A0#%     @ 94">6H!BS9IP P  B <  !D              ("!V'4
M 'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    " !E0)Y:#?N:
M%UD"  "[!0  &0              @(%_>0  >&PO=V]R:W-H965T<R]S:&5E
M=#(R+GAM;%!+ 0(4 Q0    ( &5 GEH3K8?K1 (  (H&   9
M  " @0]\  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @
M94">6HNY@,0A P  WP8  !D              ("!BGX  'AL+W=O<FMS:&5E
M=',O<VAE970R-"YX;6Q02P$"% ,4    " !E0)Y:&*J 2<0"   6!@  &0
M            @('B@0  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4
M Q0    ( &5 GEHYIGI> @,  (8&   9              " @=V$  !X;"]W
M;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ 94">6O"TOIV< @
MH@4  !D              ("!%H@  'AL+W=O<FMS:&5E=',O<VAE970R-RYX
M;6Q02P$"% ,4    " !E0)Y:=OBI*LH$   K#0  &0              @('I
MB@  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( &5 GEH#
M1B/X] 0  +D,   9              " @>J/  !X;"]W;W)K<VAE971S+W-H
M965T,CDN>&UL4$L! A0#%     @ 94">6L1;-E*R @  !08  !D
M     ("!%94  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4
M" !E0)Y:9QR\3]T#  "_"   &0              @('^EP  >&PO=V]R:W-H
M965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( &5 GEHZ#3L(5 0   4+   9
M              " @1*<  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L!
M A0#%     @ 94">6E(DL)*1 @  N04  !D              ("!G:   'AL
M+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " !E0)Y:VYK&IQ(#
M  "X!P  &0              @(%EHP  >&PO=V]R:W-H965T<R]S:&5E=#,T
M+GAM;%!+ 0(4 Q0    ( &5 GEKDT4O"0@8  !00   9              "
M@:ZF  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @ 94">
M6C<E-C'\ @  <@@  !D              ("!)ZT  'AL+W=O<FMS:&5E=',O
M<VAE970S-BYX;6Q02P$"% ,4    " !E0)Y:(%H6;\\"  #5!@  &0
M        @(%:L   >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0
M   ( &5 GEIW'5/^J ,  /</   9              " @6"S  !X;"]W;W)K
M<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ 94">6D::VR>- @  U 8
M !D              ("!/[<  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q0
M2P$"% ,4    " !E0)Y:Y!WD;)D$  #0(0  &0              @($#N@
M>&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( &5 GEK "HSQ
MOP0  " =   9              " @=.^  !X;"]W;W)K<VAE971S+W-H965T
M-#$N>&UL4$L! A0#%     @ 94">6GJ[LO1J!   ;QP  !D
M ("!R<,  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    " !E
M0)Y:;N5S*Z4"  "#!@  &0              @(%JR   >&PO=V]R:W-H965T
M<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( &5 GEJXHA6<-00  +\3   9
M          " @4;+  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#
M%     @ 94">6G@64K=( @  504  !D              ("!LL\  'AL+W=O
M<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " !E0)Y:U'^G.><$   "
M'0  &0              @($QT@  >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM
M;%!+ 0(4 Q0    ( &5 GEJ=CSDJ? (  .\%   9              " @4_7
M  !X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @ 94">6F+2
M3A-Z @  >08  !D              ("! MH  'AL+W=O<FMS:&5E=',O<VAE
M970T."YX;6Q02P$"% ,4    " !E0)Y:@ZL"7-4%  #8+0  &0
M    @(&SW   >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    (
M &5 GEH./9YNX0(  (D)   9              " @;_B  !X;"]W;W)K<VAE
M971S+W-H965T-3 N>&UL4$L! A0#%     @ 94">6G&K+J&X @  < D  !D
M             ("!U^4  'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"
M% ,4    " !E0)Y:7L3)6L\#  !]#@  &0              @('&Z   >&PO
M=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( &5 GEI8]1:LF@0
M &4;   9              " @<SL  !X;"]W;W)K<VAE971S+W-H965T-3,N
M>&UL4$L! A0#%     @ 94">6L GB$=[!   ,QH  !D              ("!
MG?$  'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4    " !E0)Y:
MVPX=$A0#   7"P  &0              @(%/]@  >&PO=V]R:W-H965T<R]S
M:&5E=#4U+GAM;%!+ 0(4 Q0    ( &5 GEK:U/<V^0(  .H'   9
M      " @9KY  !X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#%
M  @ 94">6C;^K!V> @  C08  !D              ("!ROP  'AL+W=O<FMS
M:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " !E0)Y:L%H6HDX"  ">!0
M&0              @(&?_P  >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+
M 0(4 Q0    ( &5 GEKAL,3/& ,  %8*   9              " @20" 0!X
M;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @ 94">6HR_8PW;
M"   3$@  !D              ("!<P4! 'AL+W=O<FMS:&5E=',O<VAE970V
M,"YX;6Q02P$"% ,4    " !E0)Y:;'2/Q;P%  #@*0  &0
M@(&%#@$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( &5
MGEI_-?;%-0(  /X$   9              " @7@4 0!X;"]W;W)K<VAE971S
M+W-H965T-C(N>&UL4$L! A0#%     @ 94">6N>Q/G\S P  *A,   T
M         ( !Y!8! 'AL+W-T>6QE<RYX;6Q02P$"% ,4    " !E0)Y:EXJ[
M',     3 @  "P              @ %"&@$ 7W)E;',O+G)E;'-02P$"% ,4
M    " !E0)Y:(33T(ND$  #P*   #P              @ $K&P$ >&PO=V]R
M:V)O;VLN>&UL4$L! A0#%     @ 94">6G=+<84& @  \20  !H
M     ( !02 ! 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%
M  @ 94">6O\GIW7C 0  ;"0  !,              ( !?R(! %M#;VYT96YT
A7U1Y<&5S72YX;6Q02P4&     $8 1@ A$P  DR0!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<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>77
<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>79
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>161</ContextCount>
  <ElementCount>219</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>50</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="rock-20250331.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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>9952151 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>9952152 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>9952153 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>9952154 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>9952155 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>9952156 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>9952157 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>9952158 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>9952159 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>9952160 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>9952161 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>9952162 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>9952163 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>9952164 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>9952165 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>9952166 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>9952167 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>9952168 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>9952169 - 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-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>9952170 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>9955511 - 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>24</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>9955512 - 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>25</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>9955513 - 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>26</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>9955514 - 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>27</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>9955515 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/Acquisitions</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>9955516 - 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>29</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9955517 - Disclosure - Long-Term Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LongTermDebtTables</Role>
      <ShortName>Long-Term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/LongTermDebt</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9955518 - 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>31</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9955519 - 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>32</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9955520 - 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>33</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9955521 - 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>34</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9955522 - 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>35</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9955523 - 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>36</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9955524 - 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>37</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9955525 - 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>38</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9955526 - 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>39</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9955527 - Disclosure - Acquisitions (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails</Role>
      <ShortName>Acquisitions (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9955528 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails</Role>
      <ShortName>Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9955529 - 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/AcquisitionsTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9955530 - Disclosure - Acquisition (Summary of Unaudited Pro Forma Financial Information) - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails</Role>
      <ShortName>Acquisition (Summary of Unaudited Pro Forma Financial Information) - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9955531 - 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>44</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9955532 - 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>45</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9955533 - 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>46</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9955534 - 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>47</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9955535 - 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>48</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9955536 - 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/LongTermDebtTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9955537 - Disclosure - Long-Term Debt (Schedule of Long-term Debt) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails</Role>
      <ShortName>Long-Term Debt (Schedule of Long-term Debt) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/LongTermDebtTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9955538 - 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>51</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9955539 - 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>52</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9955540 - 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>53</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9955541 - 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>54</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9955542 - 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>55</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9955543 - 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>56</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>9955544 - 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>57</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>9955545 - 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>58</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>9955546 - 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>59</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>9955547 - 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>60</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>9955548 - 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>61</Position>
    </Report>
    <Report instance="rock-20250331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>9955549 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SubsequentEvents</ParentRole>
      <Position>62</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-20250331.htm">rock-20250331.htm</File>
    <File>rock-20250331.xsd</File>
    <File>rock-20250331_cal.xml</File>
    <File>rock-20250331_def.xml</File>
    <File>rock-20250331_lab.xml</File>
    <File>rock-20250331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>rock-20250331_g1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="541">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>81
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rock-20250331.htm": {
   "nsprefix": "rock",
   "nsuri": "http://www.gibraltar1.com/20250331",
   "dts": {
    "inline": {
     "local": [
      "rock-20250331.htm"
     ]
    },
    "schema": {
     "local": [
      "rock-20250331.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/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "rock-20250331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rock-20250331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "rock-20250331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rock-20250331_pre.xml"
     ]
    }
   },
   "keyStandard": 204,
   "keyCustom": 15,
   "axisStandard": 20,
   "axisCustom": 1,
   "memberStandard": 25,
   "memberCustom": 22,
   "hidden": {
    "total": 5,
    "http://xbrl.sec.gov/dei/2024": 5
   },
   "contextCount": 161,
   "entityCount": 1,
   "segmentCount": 50,
   "elementCount": 470,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 541,
    "http://xbrl.sec.gov/dei/2024": 30,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://fasb.org/srt/2024": 1
   },
   "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
     "longName": "9952151 - 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-20250331.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-20250331.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
     "longName": "9952152 - 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-20250331.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-20250331.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
     "longName": "9952153 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "9952154 - 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-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
     "longName": "9952155 - 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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity",
     "longName": "9952156 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.gibraltar1.com/role/ProductWarranties",
     "longName": "9952157 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.gibraltar1.com/role/BasisOfPresentation",
     "longName": "9952158 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNet",
     "longName": "9952159 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.gibraltar1.com/role/Revenue",
     "longName": "9952160 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.gibraltar1.com/role/InventoriesNet",
     "longName": "9952161 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.gibraltar1.com/role/Acquisitions",
     "longName": "9952162 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets",
     "longName": "9952163 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.gibraltar1.com/role/LongTermDebt",
     "longName": "9952164 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensation",
     "longName": "9952165 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments",
     "longName": "9952166 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxes",
     "longName": "9952167 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.gibraltar1.com/role/EarningsperShare",
     "longName": "9952168 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.gibraltar1.com/role/SegmentInformation",
     "longName": "9952169 - 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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.gibraltar1.com/role/SubsequentEvents",
     "longName": "9952170 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R23": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrTrmntdFlag",
       "ecd:Rule10b51ArrTrmntdFlag",
       "ecd:NonRule10b51ArrAdoptedFlag",
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrTrmntdFlag",
       "ecd:Rule10b51ArrTrmntdFlag",
       "ecd:NonRule10b51ArrAdoptedFlag",
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.gibraltar1.com/role/BasisOfPresentationPolicies",
     "longName": "9955511 - Disclosure - Basis Of Presentation (Policies)",
     "shortName": "Basis Of Presentation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "24",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.gibraltar1.com/role/ProductWarrantiesTables",
     "longName": "9955512 - Disclosure - Product Warranties (Tables)",
     "shortName": "Product Warranties (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNetTables",
     "longName": "9955513 - Disclosure - Accounts Receivable, Net (Tables)",
     "shortName": "Accounts Receivable, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetTables",
     "longName": "9955514 - Disclosure - Inventories, Net (Tables)",
     "shortName": "Inventories, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsTables",
     "longName": "9955515 - Disclosure - Acquisitions (Tables)",
     "shortName": "Acquisitions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables",
     "longName": "9955516 - Disclosure - Goodwill and Related Intangible Assets (Tables)",
     "shortName": "Goodwill and Related Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.gibraltar1.com/role/LongTermDebtTables",
     "longName": "9955517 - Disclosure - Long-Term Debt (Tables)",
     "shortName": "Long-Term Debt (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationTables",
     "longName": "9955518 - Disclosure - Equity-Based Compensation (Tables)",
     "shortName": "Equity-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables",
     "longName": "9955519 - 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": "32",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesTables",
     "longName": "9955520 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareTables",
     "longName": "9955521 - Disclosure - Earnings per Share (Tables)",
     "shortName": "Earnings per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationTables",
     "longName": "9955522 - Disclosure - Segment Information (Tables)",
     "shortName": "Segment Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.gibraltar1.com/role/ProductWarrantiesDetails",
     "longName": "9955523 - Disclosure - Product Warranties (Details)",
     "shortName": "Product Warranties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails",
     "longName": "9955524 - 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": "37",
     "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",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.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",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
     "longName": "9955525 - Disclosure - Revenue - Narrative (Details)",
     "shortName": "Revenue - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetDetails",
     "longName": "9955526 - Disclosure - Inventories, Net (Details)",
     "shortName": "Inventories, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "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-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
     "longName": "9955527 - Disclosure - Acquisitions (Narrative) (Details)",
     "shortName": "Acquisitions (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "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-20250331.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-20250331.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
     "longName": "9955528 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)",
     "shortName": "Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-41",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "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-20250331.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9955529 - 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": "42",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
     "longName": "9955530 - Disclosure - Acquisition (Summary of Unaudited Pro Forma Financial Information) - (Details)",
     "shortName": "Acquisition (Summary of Unaudited Pro Forma Financial Information) - (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-50",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-50",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
     "longName": "9955531 - 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": "44",
     "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsAdditionalInformationDetails",
     "longName": "9955532 - 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": "45",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9955533 - 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": "46",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails",
     "longName": "9955534 - 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": "47",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1",
     "longName": "9955535 - 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": "48",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
     "longName": "9955536 - Disclosure - Long-Term Debt (Narrative) (Details)",
     "shortName": "Long-Term Debt (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails",
     "longName": "9955537 - Disclosure - Long-Term Debt (Schedule of Long-term Debt) (Details)",
     "shortName": "Long-Term Debt (Schedule of Long-term Debt) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c-77",
      "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity",
      "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-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-77",
      "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity",
      "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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
     "longName": "9955538 - Disclosure - Equity-Based Compensation (Incentive Plan) (Details)",
     "shortName": "Equity-Based Compensation (Incentive Plan) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c-90",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-90",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
     "longName": "9955539 - 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": "52",
     "firstAnchor": {
      "contextRef": "c-3",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-3",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
     "longName": "9955540 - 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": "53",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
     "longName": "9955541 - 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": "54",
     "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringSettlementAndImpairmentProvisions",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsDetails",
     "longName": "9955542 - 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": "55",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringCharges",
      "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-116",
      "name": "us-gaap:RestructuringCharges",
      "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-20250331.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesofLiabilityforExitActivityCostsRelatingtoFacilityConsolidationEffortsDetails",
     "longName": "9955543 - 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": "56",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesProvisionForIncomeTaxesForContinuingOperationsDetails",
     "longName": "9955544 - 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": "57",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.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",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
     "longName": "9955545 - Disclosure - Income Taxes (Narrative) (Details)",
     "shortName": "Income Taxes (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareDetails",
     "longName": "9955546 - Disclosure - Earnings per Share (Details)",
     "shortName": "Earnings per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.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-20250331.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationDetails",
     "longName": "9955547 - Disclosure - Segment Information (Details)",
     "shortName": "Segment Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "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-20250331.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-20250331.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails",
     "longName": "9955548 - Disclosure - Segment Information - Disaggregation of Revenue (Details)",
     "shortName": "Segment Information - Disaggregation of Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "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-20250331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-140",
      "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-20250331.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.gibraltar1.com/role/SubsequentEventsDetails",
     "longName": "9955549 - Disclosure - Subsequent Events (Details)",
     "shortName": "Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c-161",
      "name": "srt:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-6",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-161",
      "name": "srt:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-6",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20250331.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "rock_A2019SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/20250331",
     "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": []
    },
    "rock_A2025AcquisitionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "A2025AcquisitionsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025 Acquisitions",
        "label": "2025 Acquisitions [Member]",
        "documentation": "2025 Acquisitions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r51",
      "r589"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade receivables, net of allowance of $2,805 and $3,394, respectively",
        "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": [
      "r712"
     ]
    },
    "rock_AccruedEquityBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/20250331",
     "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/2024",
     "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": [
      "r54"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r15",
      "r16",
      "r71",
      "r138",
      "r446",
      "r474",
      "r475"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r4",
      "r10",
      "r16",
      "r402",
      "r405",
      "r426",
      "r470",
      "r471",
      "r693",
      "r694",
      "r695",
      "r699",
      "r700",
      "r701",
      "r702"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r249",
      "r545"
     ]
    },
    "rock_AcquiredIntangibleAssetsTotal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional 402(v) Disclosure",
        "label": "Additional 402(v) Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r639"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r62",
      "r589",
      "r834"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r483",
      "r699",
      "r700",
      "r701",
      "r702",
      "r784",
      "r835"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation, Amount",
        "label": "Adjustment to Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation:",
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote",
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment To PEO Compensation, Footnote",
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r37",
      "r38",
      "r334"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table",
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]"
       }
      }
     },
     "auth_ref": [
      "r685"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Amount",
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r611",
      "r621",
      "r631",
      "r663"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined",
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r614",
      "r624",
      "r634",
      "r666"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Pension Adjustments Service Cost",
        "label": "Aggregate Pension Adjustments Service Cost [Member]"
       }
      }
     },
     "auth_ref": [
      "r686"
     ]
    },
    "rock_AgtechMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Adjustments to Compensation",
        "label": "All Adjustments to Compensation [Member]"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Executive Categories",
        "label": "All Executive Categories [Member]"
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Individuals",
        "label": "All Individuals [Member]"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r659",
      "r667",
      "r671",
      "r679"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Trading Arrangements",
        "label": "All Trading Arrangements [Member]"
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableNetScheduleofAccountsReceivableAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance as of January 1, 2025",
        "periodEndLabel": "Ending balance as of March 31, 2025",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r222",
      "r226",
      "r227",
      "r230",
      "r798"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, allowance",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r222",
      "r226"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r229"
     ]
    },
    "rock_Amended2018PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "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/2024",
     "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": [
      "r7",
      "r246",
      "r253",
      "r563"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r183"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r21"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r21"
     ]
    },
    "rock_ApplicableRatePeriod2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "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": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r106",
      "r137",
      "r156",
      "r186",
      "r192",
      "r210",
      "r214",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r397",
      "r399",
      "r410",
      "r442",
      "r505",
      "r556",
      "r557",
      "r589",
      "r602",
      "r752",
      "r753",
      "r789"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r142",
      "r156",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r397",
      "r399",
      "r410",
      "r589",
      "r752",
      "r753",
      "r789"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price",
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r674"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value as of Grant Date",
        "label": "Award Grant Date Fair Value"
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing, How MNPI Considered",
        "label": "Award Timing, How MNPI Considered [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Method",
        "label": "Award Timing Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Considered",
        "label": "Award Timing MNPI Considered [Flag]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Disclosure",
        "label": "Award Timing MNPI Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Predetermined",
        "label": "Award Timing Predetermined [Flag]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "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": [
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Securities",
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r672"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures",
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r671"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table",
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r671"
     ]
    },
    "rock_BacklogMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "BacklogMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog",
        "label": "Backlog [Member]",
        "documentation": "Backlog"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Location [Axis]",
        "label": "Statement of Financial Position Location, Balance [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r801",
      "r802"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Location [Domain]",
        "label": "Statement of Financial Position Location, Balance [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r261",
      "r801",
      "r802"
     ]
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition, Acquiree [Domain]",
        "label": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r393",
      "r577",
      "r578"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Axis]",
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r393",
      "r577",
      "r578"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Line Items]",
        "label": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r393"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Unaudited Pro Forma Financial Information",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate."
       }
      }
     },
     "auth_ref": [
      "r689",
      "r690"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income from operations",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period."
       }
      }
     },
     "auth_ref": [
      "r391",
      "r392"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net sales",
        "label": "Business Acquisition, Pro Forma Revenue",
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period."
       }
      }
     },
     "auth_ref": [
      "r391",
      "r392"
     ]
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition purchase price",
        "label": "Business Combination, Consideration Transferred",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r2",
      "r9"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ACQUISITIONS",
        "label": "Business Combination Disclosure [Text Block]",
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r394"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other",
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r42"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value of purchase consideration",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net",
        "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other",
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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": [
      "r41",
      "r42"
     ]
    },
    "rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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/2024",
     "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": [
      "r7"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r20",
      "r133",
      "r546"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r20",
      "r82",
      "r155"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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 (decrease) increase 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": [
      "r3",
      "r82"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changed Peer Group, Footnote",
        "label": "Changed Peer Group, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year",
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]"
       }
      }
     },
     "auth_ref": [
      "r647"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested",
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]"
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Amount",
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Name",
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r592",
      "r593",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r699",
      "r700",
      "r702",
      "r784",
      "r833",
      "r835"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r60"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r60",
      "r493"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r60"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r60",
      "r493",
      "r511",
      "r835",
      "r836"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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,401 and 34,313 shares issued and outstanding in 2025 and 2024",
        "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": [
      "r60",
      "r445",
      "r589"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure",
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r656"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Net Income",
        "label": "Compensation Actually Paid vs. Net Income [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Other Measure",
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r657"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return",
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r17",
      "r144",
      "r146",
      "r151",
      "r438",
      "r453",
      "r454"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "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]",
        "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r111",
      "r117",
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r158",
      "r186",
      "r194",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r286",
      "r287",
      "r288",
      "r289",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r556",
      "r557",
      "r691",
      "r692",
      "r752",
      "r753"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "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]",
        "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r111",
      "r117",
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r124",
      "r125",
      "r158",
      "r186",
      "r194",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r286",
      "r287",
      "r288",
      "r289",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r556",
      "r557",
      "r691",
      "r692",
      "r752",
      "r753"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities",
        "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": [
      "r317",
      "r318",
      "r328"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Billings in excess of costs",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r318",
      "r328"
     ]
    },
    "rock_ContractWithCustomerLiabilityCurrentUnearnedRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "ContractWithCustomerLiabilityCurrentUnearnedRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Unearned revenue",
        "label": "Contract with Customer, Liability, Current Unearned Revenue",
        "documentation": "Contract with Customer, Liability, Current Unearned Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "us-gaap_CorporateNonSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CorporateNonSegmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate",
        "label": "Segment Reporting, Reconciling Item, Corporate Nonsegment [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": [
      "r12",
      "r209",
      "r210",
      "r211",
      "r212",
      "r215",
      "r707"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r75",
      "r156",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r410",
      "r556",
      "r752"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "rock_CostsInExcessOfBillingsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "CostsInExcessOfBillingsNet",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs in excess of billings, net",
        "label": "Costs In Excess Of Billings, Net",
        "documentation": "Costs In Excess Of Billings, Net"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "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": [
      "r285",
      "r750"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "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": [
      "r285",
      "r750",
      "r751"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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": [
      "r45",
      "r727",
      "r729",
      "r730",
      "r731",
      "r733",
      "r734",
      "r737",
      "r738"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DebtInstrumentApplicableRatePeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/20250331",
     "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/2024",
     "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": [
      "r13",
      "r53",
      "r54",
      "r97",
      "r98",
      "r158",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r588",
      "r697",
      "r739",
      "r740",
      "r741",
      "r787",
      "r788"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r297",
      "r419",
      "r420",
      "r565",
      "r566",
      "r588"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r56",
      "r298"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "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": [
      "r158",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r588",
      "r697",
      "r787",
      "r788"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r13",
      "r158",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r588",
      "r697",
      "r739",
      "r740",
      "r741",
      "r787",
      "r788"
     ]
    },
    "rock_DebtInstrumentNumberOfDebtCovenants": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "documentation": "Disclosure of information about long-term debt instrument or arrangement."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r31",
      "r32",
      "r49",
      "r91",
      "r92",
      "r158",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r588",
      "r697",
      "r787",
      "r788"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r369",
      "r370",
      "r443"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "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": [
      "r7",
      "r186",
      "r197",
      "r214",
      "r556",
      "r557"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r327",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r327",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r756"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r332",
      "r337",
      "r364",
      "r365",
      "r366",
      "r580"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "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": [
      "r606"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r638"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": []
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year",
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]"
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r172",
      "r183",
      "r184",
      "r185"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r411"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r372",
      "r582"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r157",
      "r372",
      "r380",
      "r582"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock Option",
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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": [
      "r688"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r604"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r604"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Awards Adjustments, Footnote",
        "label": "Equity Awards Adjustments, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r643"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table",
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]"
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Awards Adjustments",
        "label": "Equity Awards Adjustments [Member]"
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table",
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]"
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r128",
      "r147",
      "r148",
      "r149",
      "r159",
      "r160",
      "r161",
      "r163",
      "r168",
      "r169",
      "r171",
      "r187",
      "r224",
      "r225",
      "r259",
      "r316",
      "r378",
      "r379",
      "r386",
      "r387",
      "r388",
      "r390",
      "r395",
      "r396",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r421",
      "r422",
      "r426",
      "r452",
      "r470",
      "r471",
      "r472",
      "r483",
      "r531"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Valuation Assumption Difference, Footnote",
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r653"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneous Compensation Analysis",
        "label": "Erroneous Compensation Analysis [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r611",
      "r621",
      "r631",
      "r663"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneously Awarded Compensation Recovery",
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r608",
      "r618",
      "r628",
      "r660"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Category:",
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r135",
      "r232",
      "r252",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "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": [
      "r254",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "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": [
      "r837"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2030",
        "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": [
      "r254",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2029",
        "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": [
      "r254",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "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": [
      "r254",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails_1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "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": [
      "r254",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r245",
      "r247",
      "r248",
      "r249",
      "r251",
      "r252",
      "r256",
      "r257",
      "r434",
      "r435",
      "r545"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r232",
      "r252",
      "r435",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r245",
      "r252",
      "r256",
      "r257",
      "r258",
      "r434",
      "r545",
      "r563"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r245",
      "r247",
      "r248",
      "r249",
      "r251",
      "r252",
      "r256",
      "r257",
      "r545"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r247"
     ]
    },
    "rock_ForeignCurrencyRateFloorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r667"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount",
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r667"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r667"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery, Explanation of Impracticability",
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r667"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r667"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year",
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]"
       }
      }
     },
     "auth_ref": [
      "r648"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "periodStartLabel": "Balance at December 31, 2024",
        "periodEndLabel": "Balance at March 31, 2025",
        "label": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r233",
      "r436",
      "r557",
      "r562",
      "r583",
      "r589",
      "r716",
      "r723"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired goodwill",
        "label": "Goodwill, Acquired During Period",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r562"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r714",
      "r726"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r240"
     ]
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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 asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r242",
      "r562"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r562"
     ]
    },
    "us-gaap_GoodwillRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r72",
      "r75",
      "r105",
      "r156",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r410",
      "r551",
      "r556",
      "r704",
      "r706",
      "r708",
      "r709",
      "r710",
      "r752"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before taxes",
        "terseLabel": "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": [
      "r73",
      "r100",
      "r105",
      "r440",
      "r450",
      "r551",
      "r556",
      "r704",
      "r706",
      "r708",
      "r709",
      "r710"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r74",
      "r101",
      "r152",
      "r162",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r175",
      "r180",
      "r181",
      "r389",
      "r396",
      "r408",
      "r439",
      "r799"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r74",
      "r152",
      "r162",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r175",
      "r180",
      "r181",
      "r182",
      "r396",
      "r408",
      "r439",
      "r799"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "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 tax."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r368",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r381",
      "r383",
      "r384",
      "r385",
      "r482",
      "r582"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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 (in thousands)",
        "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": [
      "r107",
      "r109",
      "r170",
      "r171",
      "r186",
      "r200",
      "r214",
      "r371",
      "r372",
      "r382",
      "r456",
      "r582"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "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": {
        "negatedTerseLabel": "Trade receivables and costs in excess of billings",
        "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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "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": {
        "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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r176",
      "r177",
      "r178",
      "r182",
      "r336"
     ]
    },
    "rock_IndefiniteLivedAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "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": [
      "r245",
      "r250",
      "r255",
      "r563"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r232",
      "r255",
      "r563"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "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": [
      "r245",
      "r250",
      "r255",
      "r563"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Individual:",
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r659",
      "r667",
      "r671",
      "r679"
     ]
    },
    "rock_InfrastructureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r607",
      "r683"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Adopted",
        "label": "Insider Trading Policies and Procedures Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r607",
      "r683"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted",
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r607",
      "r683"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r245",
      "r734",
      "r736"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Interest income, net",
        "terseLabel": "Interest income, net",
        "label": "Interest Income (Expense), Operating",
        "documentation": "Amount of interest income (expense) classified as operating."
       }
      }
     },
     "auth_ref": [
      "r437",
      "r706"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r231"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "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": {
        "verboseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r548"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r140",
      "r547",
      "r589"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Raw material",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r550"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "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": {
        "verboseLabel": "Work-in-process",
        "label": "Inventory, Work in Process, Net of Reserves",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r549"
     ]
    },
    "rock_LaneSupplyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "LaneSupplyMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lane Supply",
        "label": "Lane Supply [Member]",
        "documentation": "Lane Supply"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r66",
      "r99",
      "r448",
      "r589",
      "r698",
      "r713",
      "r786"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r55",
      "r132",
      "r156",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r398",
      "r399",
      "r400",
      "r410",
      "r589",
      "r752",
      "r789",
      "r790"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current borrowing capacity",
        "negatedTerseLabel": "Total revolving credit facility",
        "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": [
      "r52",
      "r57"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less: standby letters of credit issued to third parties",
        "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": [
      "r52",
      "r57"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Availability on revolving credit facility",
        "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": [
      "r52",
      "r57",
      "r285"
     ]
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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 to 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": [
      "r419",
      "r711"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/20250331",
     "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/2024",
     "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": [
      "r13",
      "r98",
      "r304",
      "r314",
      "r565",
      "r566",
      "r588",
      "r797"
     ]
    },
    "us-gaap_LongTermDebtAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r90"
     ]
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r13",
      "r739",
      "r740",
      "r741"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r13",
      "r30",
      "r739",
      "r740",
      "r741"
     ]
    },
    "rock_ManagementStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r127",
      "r274",
      "r275",
      "r276",
      "r277",
      "r331",
      "r367",
      "r409",
      "r432",
      "r468",
      "r469",
      "r476",
      "r485",
      "r486",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r543",
      "r544",
      "r561",
      "r569",
      "r579",
      "r584",
      "r585",
      "r586",
      "r587",
      "r590",
      "r754",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measure:",
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "us-gaap_MediumTermNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MediumTermNotesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Medium-term Notes",
        "label": "Medium-Term Note [Member]",
        "documentation": "Debt instruments with maturities ranging from five to ten years."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r127",
      "r274",
      "r275",
      "r276",
      "r277",
      "r331",
      "r367",
      "r409",
      "r432",
      "r468",
      "r469",
      "r476",
      "r485",
      "r486",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r543",
      "r544",
      "r561",
      "r569",
      "r579",
      "r584",
      "r585",
      "r586",
      "r590",
      "r754",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MNPI Disclosure Timed for Compensation Value",
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]"
       }
      }
     },
     "auth_ref": [
      "r670"
     ]
    },
    "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Material Terms of Trading Arrangement",
        "label": "Material Terms of Trading Arrangement [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Named Executive Officers, Footnote",
        "label": "Named Executive Officers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r154"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r154"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r82",
      "r83",
      "r84"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": 6.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://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "verboseLabel": "Net income",
        "terseLabel": "Net income available to common stockholders",
        "label": "Net Income (Loss) Attributable to Parent",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r84",
      "r102",
      "r130",
      "r143",
      "r145",
      "r149",
      "r156",
      "r162",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r170",
      "r171",
      "r179",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r389",
      "r396",
      "r408",
      "r410",
      "r451",
      "r513",
      "r529",
      "r530",
      "r600",
      "r752"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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_NewShareRepurchaseProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "NewShareRepurchaseProgramMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "New Share Repurchase Program",
        "label": "New Share Repurchase Program [Member]",
        "documentation": "New Share Repurchase Program"
       }
      }
     },
     "auth_ref": []
    },
    "rock_NonCurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/20250331",
     "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": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-GAAP Measure Description",
        "label": "Non-GAAP Measure Description [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-NEOs",
        "label": "Non-NEOs [Member]"
       }
      }
     },
     "auth_ref": [
      "r615",
      "r625",
      "r635",
      "r659",
      "r667"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount",
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO",
        "label": "Non-PEO NEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r44",
      "r727",
      "r729",
      "r730",
      "r731",
      "r733",
      "r734",
      "r737",
      "r738"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r552",
      "r560",
      "r705"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r105",
      "r551",
      "r704",
      "r706",
      "r708",
      "r709",
      "r710"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r424"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r423"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r215",
      "r556",
      "r557"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r50",
      "r95",
      "r477",
      "r478"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r141",
      "r589"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r136"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r5",
      "r452"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income (loss):",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other expense, net",
        "label": "Other Income",
        "documentation": "Amount of revenue and income classified as other."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r514",
      "r539",
      "r540",
      "r541"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r58"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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 expense (income), net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Performance Measure, Amount",
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r651"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount",
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r613",
      "r623",
      "r633",
      "r665"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Amount",
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r616",
      "r626",
      "r636",
      "r668"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r616",
      "r626",
      "r636",
      "r668"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "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": "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": [
      "r81"
     ]
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r265",
      "r696"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r19"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r80"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Issuers, Footnote",
        "label": "Peer Group Issuers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Total Shareholder Return Amount",
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Actually Paid Compensation Amount",
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO",
        "label": "PEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Name",
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r652"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Total Compensation Amount",
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Adjustments Prior Service Cost",
        "label": "Pension Adjustments Prior Service Cost [Member]"
       }
      }
     },
     "auth_ref": [
      "r643"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Adjustments Service Cost",
        "label": "Pension Adjustments Service Cost [Member]"
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension Benefits Adjustments, Footnote",
        "label": "Pension Benefits Adjustments, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r642"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r59",
      "r315"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r59",
      "r493"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r59",
      "r493",
      "r511",
      "r835",
      "r836"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r59",
      "r444",
      "r589"
     ]
    },
    "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds from sale of business",
        "label": "Proceeds from Divestiture of Businesses, Net of Cash Divested",
        "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r8",
      "r425",
      "r441",
      "r449",
      "r589"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r153",
      "r228"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure",
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure, Table",
        "label": "Pay vs Performance [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r127",
      "r274",
      "r275",
      "r276",
      "r277",
      "r330",
      "r331",
      "r360",
      "r361",
      "r362",
      "r367",
      "r409",
      "r430",
      "r431",
      "r432",
      "r468",
      "r469",
      "r476",
      "r485",
      "r486",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r543",
      "r544",
      "r561",
      "r569",
      "r579",
      "r584",
      "r585",
      "r586",
      "r587",
      "r590",
      "r594",
      "r742",
      "r754",
      "r785",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r127",
      "r274",
      "r275",
      "r276",
      "r277",
      "r330",
      "r331",
      "r360",
      "r361",
      "r362",
      "r367",
      "r409",
      "r430",
      "r431",
      "r432",
      "r468",
      "r469",
      "r476",
      "r485",
      "r486",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r543",
      "r544",
      "r561",
      "r569",
      "r579",
      "r584",
      "r585",
      "r586",
      "r587",
      "r590",
      "r594",
      "r742",
      "r754",
      "r785",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r25",
      "r26"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r608",
      "r618",
      "r628",
      "r660"
     ]
    },
    "rock_RenewablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "RenewablesMember",
     "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": "Renewables",
        "label": "Renewables [Member]",
        "documentation": "Renewables"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ResidentialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "ResidentialMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDisaggregationofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Residential",
        "label": "Residential [Member]",
        "documentation": "Residential"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ResidentialProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "ResidentialProductsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryofExitActivityCostsandAssetImpairmentsbySegmentDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Residential",
        "label": "Residential Products [Member]",
        "documentation": "Residential Products."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date:",
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r609",
      "r619",
      "r629",
      "r661"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date",
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r610",
      "r620",
      "r630",
      "r662"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement does not require Recovery",
        "label": "Restatement Does Not Require Recovery [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r617",
      "r627",
      "r637",
      "r669"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "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": [
      "r262",
      "r263",
      "r265",
      "r268",
      "r273"
     ]
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r7",
      "r269",
      "r270",
      "r743"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r264",
      "r265",
      "r270",
      "r271"
     ]
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r264",
      "r265",
      "r266",
      "r267",
      "r270",
      "r271",
      "r272"
     ]
    },
    "us-gaap_RestructuringReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r265",
      "r271"
     ]
    },
    "us-gaap_RestructuringReserveRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r77"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r63",
      "r93",
      "r447",
      "r473",
      "r475",
      "r481",
      "r494",
      "r589"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r128",
      "r159",
      "r160",
      "r161",
      "r163",
      "r168",
      "r169",
      "r171",
      "r224",
      "r225",
      "r259",
      "r378",
      "r379",
      "r386",
      "r387",
      "r388",
      "r390",
      "r395",
      "r396",
      "r401",
      "r403",
      "r404",
      "r406",
      "r407",
      "r421",
      "r422",
      "r470",
      "r472",
      "r483",
      "r835"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r110",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r329"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r108"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r108"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": [
      "r103",
      "r104",
      "r150",
      "r156",
      "r186",
      "r193",
      "r194",
      "r208",
      "r214",
      "r217",
      "r219",
      "r220",
      "r223",
      "r286",
      "r287",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r410",
      "r440",
      "r556",
      "r752"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "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": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r61",
      "r67"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r728",
      "r733"
     ]
    },
    "rock_ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/2024",
     "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": "Antidilutive Security, Excluded EPS Calculation [Table]",
        "documentation": "Disclosure of information about security that could potentially dilute basic earnings per share (EPS) in future that was not included in calculation of diluted EPS."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r21"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionSummaryofUnauditedProFormaFinancialInformationDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40",
      "r393"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]",
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r783"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r703"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Acquired Intangible Assets",
        "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "label": "Intangible Asset, Finite-Lived [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r252",
      "r256",
      "r257",
      "r258",
      "r434",
      "r545",
      "r563"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Goodwill [Table]",
        "label": "Goodwill [Table]",
        "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r562"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r562",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r14",
      "r68",
      "r69",
      "r70"
     ]
    },
    "us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfLineOfCreditFacilitiesTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Line of Credit Facilities",
        "label": "Schedule of Line of Credit Facilities [Table Text Block]",
        "documentation": "Tabular disclosure of short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r57"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r284"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": "Restructuring Cost [Table]",
        "documentation": "Disclosure of information about restructuring cost. Includes, but is not limited to, expected cost, cost incurred, statement of income caption that includes restructuring cost recognized, and amount of restructuring reserve."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r265",
      "r266",
      "r267",
      "r270",
      "r271",
      "r272"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r28",
      "r87",
      "r88"
     ]
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r29",
      "r89"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r22",
      "r23",
      "r24"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r333",
      "r335",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r36"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r563",
      "r735"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r603"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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": [
      "r605"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r103",
      "r104",
      "r105",
      "r106",
      "r186",
      "r189",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r220",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r258",
      "r267",
      "r272",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r553",
      "r556",
      "r557",
      "r562",
      "r591",
      "r800",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830"
     ]
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r106",
      "r186",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r204",
      "r206",
      "r207",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r552",
      "r554",
      "r555",
      "r556",
      "r558",
      "r559",
      "r560"
     ]
    },
    "us-gaap_SegmentReportingInformationRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "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/AcquisitionsNarrativeDetails",
      "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": [
      "r78"
     ]
    },
    "rock_SellingGeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "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": "Stock compensation expense",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r352"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r352"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r356"
     ]
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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/20250331",
     "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/2024",
     "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": [
      "r356"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r333",
      "r335",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r581"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r35"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationEquityBasedAwardsSettledinCashDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationIncentivePlanDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "srt_ShareRepurchaseProgramAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ShareRepurchaseProgramAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program [Axis]",
        "label": "Share Repurchase Program [Axis]",
        "documentation": "Information by share repurchase program."
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "srt_ShareRepurchaseProgramDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ShareRepurchaseProgramDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program [Domain]",
        "label": "Share Repurchase Program [Domain]",
        "documentation": "Name of share repurchase program."
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "rock_ShareRepurchaseProgramDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "ShareRepurchaseProgramDuration",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program, Duration",
        "label": "Share Repurchase Program, Duration",
        "documentation": "Share Repurchase Program, Duration"
       }
      }
     },
     "auth_ref": []
    },
    "rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "us-gaap_StandardProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r746",
      "r749"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StandardProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Settlements made during the period",
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StandardProductWarrantyAccrualPeriodIncreaseDecrease",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provisions/accruals during the period",
        "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": [
      "r745"
     ]
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ProductWarrantiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired warranty accruals during the period",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_StandbyLettersOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StandbyLettersOfCreditMember",
     "presentation": [
      "http://www.gibraltar1.com/role/LongTermDebtScheduleofLongtermDebtDetails"
     ],
     "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",
      "r744",
      "r831",
      "r832"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r103",
      "r104",
      "r105",
      "r106",
      "r129",
      "r186",
      "r189",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r214",
      "r215",
      "r216",
      "r220",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r258",
      "r260",
      "r267",
      "r272",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r553",
      "r556",
      "r557",
      "r562",
      "r591",
      "r800",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r60",
      "r64",
      "r65",
      "r128",
      "r147",
      "r148",
      "r149",
      "r159",
      "r160",
      "r161",
      "r163",
      "r168",
      "r169",
      "r171",
      "r187",
      "r224",
      "r225",
      "r259",
      "r316",
      "r378",
      "r379",
      "r386",
      "r387",
      "r388",
      "r390",
      "r395",
      "r396",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r421",
      "r422",
      "r426",
      "r452",
      "r470",
      "r471",
      "r472",
      "r483",
      "r531"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r159",
      "r160",
      "r161",
      "r187",
      "r422",
      "r433",
      "r479",
      "r484",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r512",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r531",
      "r595"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r160",
      "r161",
      "r187",
      "r221",
      "r422",
      "r433",
      "r479",
      "r484",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r512",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r531",
      "r595"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Price or TSR Estimation Method",
        "label": "Stock Price or TSR Estimation Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r612",
      "r622",
      "r632",
      "r664"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r59",
      "r60",
      "r93"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r93"
     ]
    },
    "srt_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program, Authorized, Amount",
        "label": "Share Repurchase Program, Authorized, Amount",
        "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r59",
      "r60",
      "r93",
      "r480",
      "r531",
      "r542"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r11",
      "r59",
      "r60",
      "r93",
      "r483",
      "r531",
      "r542",
      "r601"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r60",
      "r64",
      "r65",
      "r85",
      "r495",
      "r511",
      "r532",
      "r533",
      "r589",
      "r602",
      "r698",
      "r713",
      "r786",
      "r835"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Line Items]",
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r428"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r428"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Table]",
        "label": "Subsequent Event [Table]",
        "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r428"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Axis]",
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r428"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Domain]",
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r428"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Events [Abstract]",
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SUBSEQUENT EVENTS",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r427",
      "r429"
     ]
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tabular List, Table",
        "label": "Tabular List [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r658"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r575",
      "r756"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r575",
      "r756"
     ]
    },
    "rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "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": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Amount",
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r650"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Vs Peer Group",
        "label": "Total Shareholder Return Vs Peer Group [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r657"
     ]
    },
    "us-gaap_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r43",
      "r563",
      "r727",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r736",
      "r737",
      "r738"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangement:",
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangements, by Individual",
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "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/2024",
     "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": [
      "r575"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r575"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adoption Date",
        "label": "Trading Arrangement Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r680"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Arrangement Duration",
        "label": "Trading Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r681"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiration Date",
        "label": "Trading Arrangement Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r681"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title",
        "label": "Trading Arrangement, Individual Title"
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Available",
        "label": "Trading Arrangement, Securities Aggregate Available Amount"
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Termination Date",
        "label": "Trading Arrangement Termination Date"
       }
      }
     },
     "auth_ref": [
      "r680"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r33"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r33"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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 4,911 and 3,960 common shares held in treasury in 2025 and 2024",
        "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": [
      "r33",
      "r34",
      "r60",
      "r64"
     ]
    },
    "rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "TreasuryStockValueAcquiredExciseTaxAmountCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Excise tax on repurchase of common stock",
        "label": "Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method",
        "documentation": "Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method"
       }
      }
     },
     "auth_ref": []
    },
    "rock_TwoMetalRoofingBusinessesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "TwoMetalRoofingBusinessesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Two Metal Roofing Businesses",
        "label": "Two Metal Roofing Businesses [Member]",
        "documentation": "Two Metal Roofing Businesses"
       }
      }
     },
     "auth_ref": []
    },
    "rock_TwoPrivatelyHeldBusinessesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20250331",
     "localname": "TwoPrivatelyHeldBusinessesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Two Privately Held Businesses",
        "label": "Two Privately Held Businesses [Member]",
        "documentation": "Two Privately Held Businesses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r264",
      "r265",
      "r270",
      "r271"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Security Market Price Change",
        "label": "Underlying Security Market Price Change, Percent"
       }
      }
     },
     "auth_ref": [
      "r676"
     ]
    },
    "us-gaap_UnpatentedTechnologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r46",
      "r563",
      "r727",
      "r729",
      "r730",
      "r731",
      "r733",
      "r734",
      "r737",
      "r738"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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": []
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year",
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]"
       }
      }
     },
     "auth_ref": [
      "r646"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r174",
      "r182"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": [
      "r173",
      "r182"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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": []
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested",
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]"
       }
      }
     },
     "auth_ref": [
      "r644"
     ]
    }
   }
  }
 },
 "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": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-7"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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/2147477401/830-230-45-1"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "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"
  },
  "r25": {
   "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"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "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"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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/2147477734/942-470-50-3"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "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"
  },
  "r69": {
   "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"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r73": {
   "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"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805/tableOfContent"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r96": {
   "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/2147478546/942-210-S99-1"
  },
  "r97": {
   "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/2147478546/942-210-S99-1"
  },
  "r98": {
   "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/2147478546/942-210-S99-1"
  },
  "r99": {
   "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/2147478546/942-210-S99-1"
  },
  "r100": {
   "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/2147478524/942-220-S99-1"
  },
  "r101": {
   "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/2147478524/942-220-S99-1"
  },
  "r102": {
   "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/2147478524/942-220-S99-1"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(i)",
   "Publisher": "SEC"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)(A)",
   "Publisher": "SEC"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)(B)",
   "Publisher": "SEC"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(i)",
   "Publisher": "SEC"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)(A)",
   "Publisher": "SEC"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)(B)",
   "Publisher": "SEC"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)(C)",
   "Publisher": "SEC"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "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(30)(a)(4))",
   "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(4))",
   "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(6))",
   "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(8))",
   "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(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r187": {
   "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"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "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": "(f)",
   "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": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r247": {
   "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"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "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": "(a)(3)",
   "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": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r260": {
   "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"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/420/tableOfContent"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "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)(i))",
   "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)(iii)(A))",
   "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)(4)(iii)(B))",
   "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": "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "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)",
   "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)(01)",
   "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)(1)(iv)(02)",
   "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)(1)(iv)(03)",
   "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)(1)(iv)(04)",
   "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)(i)",
   "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)(ii)",
   "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)",
   "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": "(c)(2)(iii)(01)",
   "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": "(c)(2)(iii)(02)",
   "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": "(c)(2)(iii)(03)",
   "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": "(d)(1)",
   "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": "(d)(2)",
   "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": "(e)(1)",
   "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": "(e)(2)",
   "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)(i)",
   "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)(ii)",
   "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": "(f)(2)(iii)",
   "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": "(f)(2)(iv)",
   "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": "(f)(2)(v)",
   "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": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "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.1.Q1)",
   "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.5.Q1)",
   "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": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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/2147477891/740-270-50-1"
  },
  "r385": {
   "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"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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/2147477401/830-230-45-1"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r420": {
   "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"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r426": {
   "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"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r430": {
   "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"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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/2147478859/928-340-50-1"
  },
  "r436": {
   "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/2147478546/942-210-S99-1"
  },
  "r437": {
   "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r438": {
   "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/2147478524/942-220-S99-1"
  },
  "r439": {
   "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/2147478524/942-220-S99-1"
  },
  "r440": {
   "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/2147477314/942-235-S99-1"
  },
  "r441": {
   "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/2147478451/942-360-50-1"
  },
  "r442": {
   "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/2147478777/944-210-S99-1"
  },
  "r443": {
   "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/2147478777/944-210-S99-1"
  },
  "r444": {
   "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/2147478777/944-210-S99-1"
  },
  "r445": {
   "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/2147478777/944-210-S99-1"
  },
  "r446": {
   "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/2147478777/944-210-S99-1"
  },
  "r447": {
   "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/2147478777/944-210-S99-1"
  },
  "r448": {
   "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/2147478777/944-210-S99-1"
  },
  "r449": {
   "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/2147478777/944-210-S99-1"
  },
  "r450": {
   "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/2147477250/944-220-S99-1"
  },
  "r451": {
   "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/2147477250/944-220-S99-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r453": {
   "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(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r454": {
   "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/2147477250/944-220-S99-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r456": {
   "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/2147477250/944-220-S99-1"
  },
  "r457": {
   "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/2147477965/944-235-S99-1"
  },
  "r458": {
   "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/2147477965/944-235-S99-1"
  },
  "r459": {
   "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/2147477965/944-235-S99-1"
  },
  "r460": {
   "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/2147477965/944-235-S99-1"
  },
  "r461": {
   "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/2147477965/944-235-S99-1"
  },
  "r462": {
   "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/2147477965/944-235-S99-1"
  },
  "r463": {
   "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/2147477965/944-235-S99-1"
  },
  "r464": {
   "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/2147477965/944-235-S99-1"
  },
  "r465": {
   "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/2147477965/944-235-S99-1"
  },
  "r466": {
   "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/2147477965/944-235-S99-1"
  },
  "r467": {
   "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/2147477965/944-235-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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/2147478009/946-205-45-4"
  },
  "r484": {
   "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/2147477796/946-210-45-4"
  },
  "r485": {
   "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/2147478795/946-210-50-6"
  },
  "r486": {
   "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/2147478795/946-210-50-6"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r502": {
   "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/2147479170/946-210-S99-1"
  },
  "r503": {
   "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/2147479170/946-210-S99-1"
  },
  "r504": {
   "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/2147479170/946-210-S99-1"
  },
  "r505": {
   "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/2147479170/946-210-S99-1"
  },
  "r506": {
   "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/2147479170/946-210-S99-1"
  },
  "r507": {
   "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/2147479170/946-210-S99-1"
  },
  "r508": {
   "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/2147479170/946-210-S99-1"
  },
  "r509": {
   "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/2147479170/946-210-S99-1"
  },
  "r510": {
   "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/2147479170/946-210-S99-2"
  },
  "r511": {
   "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/2147479170/946-210-S99-2"
  },
  "r512": {
   "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/2147479105/946-220-45-3"
  },
  "r513": {
   "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/2147479105/946-220-45-7"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r522": {
   "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/2147479134/946-220-S99-1"
  },
  "r523": {
   "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/2147479134/946-220-S99-1"
  },
  "r524": {
   "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/2147479134/946-220-S99-1"
  },
  "r525": {
   "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/2147479134/946-220-S99-1"
  },
  "r526": {
   "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/2147479134/946-220-S99-1"
  },
  "r527": {
   "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/2147479134/946-220-S99-1"
  },
  "r528": {
   "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/2147479134/946-220-S99-1"
  },
  "r529": {
   "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/2147479134/946-220-S99-1"
  },
  "r530": {
   "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/2147479134/946-220-S99-3"
  },
  "r531": {
   "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/2147479134/946-220-S99-3"
  },
  "r532": {
   "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/2147479134/946-220-S99-3"
  },
  "r533": {
   "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/2147479134/946-220-S99-3"
  },
  "r534": {
   "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/2147477271/946-320-S99-1"
  },
  "r535": {
   "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/2147477271/946-320-S99-2"
  },
  "r536": {
   "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/2147477271/946-320-S99-3"
  },
  "r537": {
   "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/2147477271/946-320-S99-3"
  },
  "r538": {
   "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/2147477271/946-320-S99-6"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column E)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column E)(Footnote 6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r542": {
   "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/2147478448/946-505-50-2"
  },
  "r543": {
   "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/2147477332/976-310-50-1"
  },
  "r544": {
   "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/2147479230/978-310-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r592": {
   "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/2147478795/946-210-50-1"
  },
  "r593": {
   "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/2147478795/946-210-50-6"
  },
  "r594": {
   "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/2147477439/946-210-55-1"
  },
  "r595": {
   "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/2147477802/946-310-45-1"
  },
  "r596": {
   "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/2147477271/946-320-S99-1"
  },
  "r597": {
   "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/2147477271/946-320-S99-2"
  },
  "r598": {
   "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/2147477271/946-320-S99-3"
  },
  "r599": {
   "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/2147477271/946-320-S99-6"
  },
  "r600": {
   "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/2147479168/946-830-55-10"
  },
  "r601": {
   "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/2147479168/946-830-55-11"
  },
  "r602": {
   "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/2147479168/946-830-55-12"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r638": {
   "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"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r689": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r690": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r691": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(ii)",
   "Publisher": "SEC"
  },
  "r692": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iii)",
   "Publisher": "SEC"
  },
  "r693": {
   "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"
  },
  "r694": {
   "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"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "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"
  },
  "r702": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r703": {
   "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"
  },
  "r704": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r705": {
   "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"
  },
  "r706": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r707": {
   "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"
  },
  "r708": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r709": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r710": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r711": {
   "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"
  },
  "r712": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r713": {
   "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"
  },
  "r714": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r715": {
   "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"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "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"
  },
  "r720": {
   "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"
  },
  "r721": {
   "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"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "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"
  },
  "r726": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r727": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r729": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r730": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r732": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r733": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r734": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r735": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r736": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r737": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r738": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r739": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r740": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r748": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r749": {
   "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"
  },
  "r750": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r751": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "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"
  },
  "r762": {
   "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"
  },
  "r763": {
   "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"
  },
  "r764": {
   "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"
  },
  "r765": {
   "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"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "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"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r784": {
   "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"
  },
  "r785": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r786": {
   "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"
  },
  "r787": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r788": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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/2147478777/944-210-S99-1"
  },
  "r798": {
   "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/2147478777/944-210-S99-1"
  },
  "r799": {
   "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/2147477250/944-220-S99-1"
  },
  "r800": {
   "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"
  },
  "r801": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r803": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r806": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r807": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r808": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r809": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r810": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "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/2147478009/946-205-45-4"
  },
  "r834": {
   "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/2147479170/946-210-S99-1"
  },
  "r835": {
   "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/2147479134/946-220-S99-3"
  },
  "r836": {
   "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/2147479134/946-220-S99-3"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>82
<FILENAME>0000912562-25-000020-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000912562-25-000020-xbrl.zip
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
M;W7JI G2B7&I<$*=!M_&ZZR+D7K^J"+5/Y9(?2T]Q@<C,5V(N]+.#:@)M&/
M7 R3LN!%:3%7X!!2ET*6"U&7P=6 AF/VX$2"\9-BBG=DJ,AEAH^<L%,=1+!1
M;D>@A R\EVY!(E-Y!SCNADZ/SQ0:@T,:SD(X!@EDVF'60;$2NPMF*C$O=%8(
M7]//NO\<'#1*R(&I]@;3$V6ZN0X%.N@KR-A TENA:5:AFS/LID2ZV)R&1P?!
MP=%#$$2N2PPRX64=U#;B#\6QV6VTZS)'*N'<A=>9J17J1.!L1+"-H--$/Q7&
MG2!+4#9FC<D&#O[>T A[I4EQFR1J@P((1(MHX>$\VY-)7XC<V+E?HM3!1".'
M21Q(TL-H-UK9W@";7QJS8^VCP]O9L>#M[59PGIQ<]I.+*]\@JJD/B")LGFN\
MY;"-A73  ,& Z]0 !5( HC(UVA<D3F)3I$>B2+I7VF?&^AK[$7$Z:R)2*F<S
M4/C8BZ<(# 6(M!C]5^^R0I83$+?(26]J@Q+)0':2X5-XQEV3H8IW\593D5A&
MA))^0<2U =P()++EX('RK8%R'(C\O ]GE*#\_A'UT_/>,4)4'@M$<1N&LX+!
MXH3V?B2U*==FLO:'=Z&DEX)8C133J*T=*D!NFFG/C(=24+(>JIC77+G)MPZ,
M9)@U>70-E7;#Q=2HD3?1%F^-5KSE]'7JM=(REGDZ9GO. "5IJCUE8%Z5GM,U
M\R.6]&@0;C:Y4X45I<YJ(XG6T2TV8IW)L4>L"S;+&;Q*@021>;$_J(]@VN.$
M<7J<,#Z8KG;0?#C1'0QJ7 @SK0BKTMM2$J-+CSBGFI( +)U:@@GAK66JC0X+
MRNW[AJ6EQ;AC2,55L26Z49-RXGC7.%35KD)(>ZY%,MQ]*S: J],)E%AB&$0V
MMD!%2X9$L/*.Z,6EI2OD[D>'W^SWQN]%MS\@GV$F3<U<1<&%/,?J4,\P+'Y/
ME;<J) [@WGB[O_!CN&)'Y$T?R\O4UN%A"P[)#G(E#50[Y^_?[HAT697S"FQF
M NUAM-$ CPEQZO=&W(HQ8S!W04%[[J9HXY:]R/L GJ1D;K.L=A3ZC<RY1^O4
M^H#/Z4P2=?D,%?T2CW+$TP>ZY(AA9+![THWAN%4"/BZ@DX2R7MGU+%I52+\J
M,XC[&/.@."GP?#2$O1!&WX%IS@[NR;<_>HH^$N?'N0<;'@O.?]L>C \55TND
MO>8HHLQ-F*[IBH#V 87'3@6[,DUB%1NL\ZM<SP]0Y72J0P#XE8206JPFJ%UI
MM(^5/$4P(_]ZXG?\2[7T<@7"+[5&\WFUU67&1PS/_MQJ?2XDT@D058L:@4:;
M6]HF9QH0&4V>7FUYYB#O*/'&:HU3+]>9?,ZY/ WZ(+PUNY-XM+"'UJ3"CAY6
MK/8@-IOJ%+LX>H6#2X.SO\?4[^LIP@-GB9UILLG><[-'F=F/9B]$"3QW2!IM
MC#HPSR%N^%2Z 5@[YC]=SJR9 27!4DZ:PW774"-,*V,7@*WSPD8^E%OP1;A]
MD@JANP."3S*#YP<%[<E)<MX[B.XBG +OWYK6%/$/KH,&&EEY&"TOKC!Q5$8N
M1KKD$;G35:,KM2'8*:F[FE'VP;*E@3'#-S:OWSYW>_$-='#X7RU';IJ[W'0:
MU&[;L/L\N7BPM==-'FS[-:W)>??RLO_)U1)TD^>?0VURH+6G/+]QCC&,OI+E
MB]:@M>S0++11OWHGDFWRH;5W/Y(QB%^*?1@@W^#2WD[=C<LK;\[_0-[<5DX;
M,>BU^7.0!UWZ(P7HR<D9TB+_[OE<8,O% \'8(T];!TW+!X@>\PQN<?7#KC2\
MS,5#A<;1.;!86G7\?OZ)CL^*CJ-VA8N2GW C*KYW6/)3*<O5],M"0RY>KZJG
M[^)N=1<8IUQL[!13>[Y;>T_;TM5[G\55UO,;ZE%\%3.#G0_EUJN0"YW>NHM,
M<2G68;?+>[ZM:W[CEWZG_(7A_P%02P,$%     @ 94">6CPM;!K?!   )A$
M !0   !Q,3(P,C5E>&AI8FET,S(Q+FAT;=58;5/C-A#^WE^Q#5,.9IQ@.PDA
M+S!C$E,\<T?N$M.CGSJ*+6/U%-LGR4#ZZ[N28RZ0HT.O5VCS(6-YWY]=:5<>
MI6K)3T8I)?')#Z,?FTV8Y%&YI)F"2%"B: RE9-DU?(RI_ 3-YIIKG!<KP:Y3
M!:[M=N%C+CZQ&U+1%5.<GM1Z1@?5>G1@C(P6>;PZ&<7L!EA\W&"=J.?TNIV>
MZ_;ZG8[;Z=MVW[%=MT,<<GADMW]S&BB*[)6,5"M.CQM+EC53JNT/.FZKURW4
M\);%*ATXMOU3P[">C)(\4VA/H'SU6*G94J;HG6H2SJZS@0FI48G6Y"CGN1CL
MV.8WU)1F0I:,KP9O/,$(?V-)DLFFI((E%5FR/RAZ@DZ9Y6WE: ^E.<MH[;CC
M:E?]J_/@- BA[;:<AWYNADO$-4:L\@*E4.V&QQ%"3,6_Y'+GJRZ/_5D8G 5C
M+PRF%S ]@_&Y%\S>>>8Y//?A=.K-)A:\G_GS8.)?A.!=3) I\,_ O_+'EV'P
MBX^\J,*?/1GSZ\;X_G(VO_30]7 *81"^]<$YLN#R(@C]"<Q#+_3G,)Y.? OF
M_MC@X+2[M@7>'+S)]+WFVE#Q'PVR=KUO']:IFWNS4^_"GS>G5V_]7\$;AYKB
MVK;[+<7Y>RD52U8O&E1@P4?&.2-+"%MPFLM;LK)@G!(FEB2#/ &54GQ/1(PE
M*JADL3[M2!8C$Z,)^'<T*A6[H3!-$A9186FAG]E"$*Z(@""+,2S!J+3P.6K!
MGE:XNW/DNO9PG"\+DJW,RAGN6X#R&@(+BE+(DJ EE<.<1HKEV>Z.<V@/-?IK
MK^9$+$A&97-ZQ^D*O$AIBD;?POJ#R]:\-6X]E*[*3J5$[>YTCX;/R=+AZR<I
MQ& _E$1@Q?,5S&B1"PPU@[-<+,&QFQ]J1-9X0I(+L_Y<"0'-8FQ-[XB(T@J'
MMF-5K6@S&Y7B.AF0E!RM1:B28_;@EJG4*!7T<\D$U=U*:L./ -XC^X#FG>Y>
MO'^?*:P1P916X]]%*<FN:9TNI]_NP)[3K=/5.UKN8V[Z0UUC_Y==I!/$,D1]
M2304"%JF"'+%^-8 L,Y9@ML*,2UP'VGT+$TFG .*4>T%8BL+A%-:1BIA&<DB
M_1X5QLRHUCL/N4I>@9\75!B;\E$-M+:P^SZ N,\"I"J&YZ2O^S![]4BAR(+3
MFGV1BYB*)KK,22'IH'X8QDP6G*P&+#,N&*'A6ODB5RI?&OTW^E2)"%_;,.8J
M\GH.<IW#EHVIUH9Q %)Q;7D])K4JVH&*MXFNTZEEOTI_('Q@U(N:H\:L4YF.
M,<]<8O:.&^U&S5.0.,:1<N 6=^ \!(O39"NX*JZ7JGZ[2G:G-Y3F?[N9W-?
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
M*?Z277KN$F#;"O7.?G8JK2\#2NS6ER&-B(1WGM$_Q\[3;Y4+WXN A<^ZKR/
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
M^%K;=1E9';X<;^\=OHJ45=P&< 3]'H=^#]"AKDCZ%5&O/9I4NVIW6(CM>]>
ML*!'O%]W_3Z%U^)%-]=?[Q[4,LG?N8SO!0I^*^-[X=)=,KX;W,;^!+$?A]CW
M):QY('9N8Z[O@MC?FVCE-MC\;JGMA&5;D]LP>_N9!/8RKC>?LK'QF^Y=XMV2
MX:P&;<-%-K6!KAOX[5Y]$/U,P3!0$3Y(D]L _E&Q>>M[5\.1Z[]2>ND$U(K\
M(-P[6C6&5J,0M'(;K5^!UIEF]YT!"4ZT+KG);72=$[0<IZ=1D]M ^ JT/%"P
MJ1R< \$$X4_/B<*'SL_3Y!ENH[Q<(>=(G,-M"+-0Y.QB2OP@'GEDK@U[X_TX
ML 8DI/NQ)GC@5VX#?5^)&RLR2J,;WR*+W2XM*QA3^^IE!#?2,#[6+4WV4Y/;
MD-,:L(.IG8#ZQB$]S)!RRM-RH,EMZ(4_8B\P[4Q5N U"<$?MA8*];-&"@]EB
M^Q$OJE(V/_X8 "^4PLOFH;\G@_8X/HZJ<!L>X H[QW$W5(7;^ !7V#D6[W 7
M(,#SN0O?"WW7L9EU=AW1X4(MY1WL$;[S'M,^746)4VZZ"W+!N=Q%"@1M<",W
MN MG<$\;)]QL656XB[,(<CBB=%"Y"_]P3PXGWO%;5;D+30F2.+:4X"YXQCU)
MO(/6\ZK*78A/D 4/TH*[*-\F9''A!R,?"(/>^EZ"N!/E6N["?'RBYUC<PUV<
M;^Z A DN[";DAU';L^$S&CPM91:'T5V_0T[71.8NWL8QCH[%1]S%O3;&$;,4
M.M1UX?OOX%H$Q(5+VO;0\1RX%43D$TWR34Z4O[@+4I40=T?B.XV[B-+DW!^>
M8#ON&%'0H1:@$%.&KEXL=VQ3^UO@#R_\X6@<,1/DKG]% @^0&-[3@&7L?WW-
M?L"V534EY4V-N_#0B>+W6/PK8CT[G"6>*,^_BT!/69%3RG#+.V'88PGQ4L9X
M#LVPQT(.=Q&>,C%LV>;$JAIWP2*![@5T%YGWKG$7=^(>W>4:1JQJW$6G!(:+
MY6&=NQ@6]Q@NWY!K5><NDB6PO =>%O$LWI)4]L7/[R)*559,%\K3I0QY'22%
M95^\5<J TJ$A7BB-<Q<E2J':=88@KN[ZW8!X89\&=_WOOF_?!1T:/#G60IY)
M>E% [79T[SM>=.W! W;NG<]GN/=(1P Z=R&FTM+**==^Z=R%IDI+)J=>!*1S
M%^,J+:F\ATH0@[N V2')I:Q(XR[^M2O2[IYH((S+HLF$NP!:&<GDE.U*@[O
M6QDIY-1-2H.[H%T9J>1=6)/<!1L/1"EEQ1>WH4IAP"%Z1'2P?+1RI-Q40X0(
M2V7Q'XM,1'BP=&;_D4C%?->AP?+:_L<BEY,+2AXRDGPLI(D0H3 N-R 3$2<4
M=N7;%")BA,*D7$\E[S4^**S)O)3";622\TCRL?#%;:A2&'"('FZC@^_><.(V
M("<,EC.UQFT,3!@*"8:X"SMA?0OK2_9 1^EPJ\!_#,AP=@@F?<Z^IC!#<MP+
MZ9]C6/+5$_Q8GIJW<$'QU#%?T&2<:8T)=#<LK_GDO)P'-/0!0C2,_QQ08K/U
MV,Y3ZPO\8'3@U)N:4JL91+$;/<.DE%"[3II*O]^ __JZ_B^DDND]8?3J CV
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
MR8R*XVQ1O(3EJ["+K3BW)61G^OXX8F*1"5,23GK/?&/''W#9V'-BR,8/J"Q
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
M4>JRL7OK;V$]OH7JM@4F?D!MR?$BXCTZF$LL;,>\B0 IZ.*(%#A+5R^6.T9
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
M2Q+2*'+9C!L< 1),1AS! C <A+)PI_G:I5<"*^JDUPRD9,&TZS <4_MR'
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
M8*O_.B-]V-8Y<9_):XCD-4M+0$@+T%X$U$IP]/L%@R,F99 [?L"JWL^!;VF
M5\%*R)%7( T"%*]_68\.P$8761=+9B]0,GM8)$M:6:@^ "&JZQ0,(\3OUU\?
MVC?=]H-T?7OYL]-]N+[JR/#[Q6HN/>Z";^^Z5QVI>R==W-UV[FZN+]O=JTOI
MV_5M^_;BNGTC=;KPP8^KVVZ'TPU\&'MD;#L@'3\NKW SQC>4RMOZ@1%]HK/.
MT*0[U[2JF2H-!XC;B\[/XL\.NWGU8ZRXEW\FIL[M> B/MA9L&W6I+VKP2#SG
MWXQ;+R8:)VY]>A_0$#;(_KSK?TM54&>B@2Z=T'+]<!S0+KSBJPN&T=3(:<1V
ME>.-J=V.DL]P 10,HA&23S &P?2UW;GN2'??I/N'JPZ06[M[?7>;FD7))A98
M'[Y+GAPW4IR\$9Z^"I/FO*;'1B).__6@NJH[6%#U$P)>K^M1%GYW>@%Q(Q)(
MUYX]QL(!&H*(\:RJ]"&"9U<NXD=7/DH#\D2E'J6>- KHB 3PU-ZK-"0>*#76
MC<#QV%("F^6\/3O10/I9[52E1^I1>(G[BE_3$2X'KQLCM!_A80XL;.2"@0(6
M+SP$>-X9SBS8\6)+F,TB\>SXP;@VQX/UCIF)RXR;;W"9I"IG?V>7M=': X&O
M*KC/!_HX3N:9=,[^MPH[9(_P1XZ'G\$5TXW($BQV9NQ)*'U 6#HA6R]<ZN%Z
M7"F@."\%/YNY]B.#NP,:"K;I48N&(0E>V=;PA7WB! B_"0\D/1S&;A1.+DIA
M,&)%'3. !TBY8YO:50GQGJ#FKX!(N)+$< "\2"$E(3:Q^9P\T0D91'QL5RP%
M[,MP!L"SKX?G+;X>GP@&Y&0S0+IPB0VF-)I]N'Y<<_H0;$#*NE&D3PO'O9#^
M.8X)9.[!<,$$+&. ^"LE0;RSK2DZ'/AC%^@2UT-LI$BXYX^Q%SMH$\K)O!=!
ME!C* "<*!)6"&Y\3S0&<>" G$'(C/X@D>'1*>_\SV1+N1J(>WGX)D!OV:!#+
MTC0'=+427U06',B8.=#WDK36<$!I))$HWE?V+N._!B2,*1CX H@&L!?X0P:F
M%+?9*(G@&OB!KY6EWA@]0L /4F."&\:J"0DN"HJ^[T<Q0@-LU90(K/PB"6G1
MI5$VV527U,CF>O*6/K<G;[T/? ]^M>+'W@.PK=?X9X8>;"YJ/&[)YRW_X8&B
MB2=-82#- Z%,#)+(!HD^$7?,N 0I,UC:80=3CTE@2S]'2-6@;&-*QN^B@1_2
MF.)1Z,;3N"(@4MKO@U!%:0N2".4J.H_(7J;,*-T&Z@S ;82WLKL98]G^*%4P
M\#<\>#0'7.F9B4KD):9@"&A %,] W?'K4*S-"\O4@9<GTAZ>/:-[D%=(.)#Z
MKO\<IER9 *8JH62'74VUF>=/7VD-B/>(_);*A01R<UPYMWQ0HD^./PX!/'9L
M,F8)ZG8LJ!_>$-1]!X-I6?):6B&JEPS)!>,QE[N@E]9=T IR%VY\6,4M"NIN
M0&P*3@(;K(#2P7E"I_U-GP#\K26?P%"6?8+N0_OR2GJXNKBZ_D?[ZPUZTK=7
MW;5.P>;;Z%@#:H]=>M=/V#W>$]L=["EQ=;S'Z;XR-K.T[%6."=LBYXY)WW=!
M$C#)QF(OP,%/8!F#7I<"^.H,.!"+DU-)0?!J9E@PK0OZVHDD0'M(IZ9Q- @H
ME8;P^D%J1L8\R^IKYDP/,Y:%8/S"]^/8)IU8'4,0![ ;M"G#" P:L.[9,I
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
M\+2"F+@^_,G40'S%,THD6"EU62FRG9;&1JP==5(^/-=5>U-IAC5_23[>K!K
MNMYQ#R^/XM*TF3[%2<E5VM(PIJ")3F)]LU'@]5@_UPTX-F\:,W;,/!IOUBJM
MIK(N_WV)-3=CS' +SESFR?)4 W9GUP]\DW3.C+O]SHCO,+:.ID!T8H+TK;3
M<H8L)ZR,L)S-FH?OP7;%*CIDBO$H;@_L!#,)VG%[>^R #-=/BSS)I!EPAO(*
M%TJQL%4X4/\0=7-L;25GU\G\HKX3Q#T\Z0MFP\)5+#763CH3,PI(&G9[2>%A
MGMW%U:G@:SG8R'BR'58Q/P:23)^S>+L7UWNGC9C3+J/8*!1NQ<.C9P?EB!\W
MIY^4M:R#S??TSIE[8M)=Q#$KKYX(3Q*!;.N-X[Q?>"N*33\(TTV J8QFDP0/
M]?PA>$@]@%8?!3/<CKT:XN8/"0\MP([):6O2/IH5[:;%N5B%R^0Z*_"<]K9&
MK@7BQ!9&=HPKD,3@;#^#C/9'V)T91=:D^M/!=@*,T.*J3XOI -L?(E59P*RQ
M;9.8>0D"YK5!8IDMUOU=CFE*\1&K^9XVR)X%)X@@.O&\\(9'PF QVV0^'+.%
MIT;EE+:F-)*2U0RM5%D[\ "A@A8PFS4QC%N>(8X#%% Q+I/^=,1EFBF<^VAR
M#QOX,.[]@1V[H[3*6G*P(/AY;K78X;:'DC&>I !BDE7K]TG:.<-R FL\1)UE
MT:0N/^:Q62J=M0I9 W-VH8PO_.7YSRBZ&6'$%?VLD7C"QD,VHC;N(9$^;&;?
M"_R0=/V/=7*?]01(F6NB]28#-28LFLK^%5S*&(GUZHT%Q+22>&YUZ7R*/D@Y
MA&E:US_M'YS-J].E)B)P2%#.AGYBQK-Y%-,J>)L";8.%,QE8D'0ECC](BIIG
MR^ 7=I>R,E %K#@"6AIA8XZXYP>L:S0Q5B>4Z7B W4>'-4)A#P'A6Q9MES8E
MF*7 17<R6O!QDN+S>7L)G9DIIX53X<Q -0)POB2**Y]9M:+2,#6K4DF>VV2J
M5UIZ8[W)Y"6F:&(ZI6VO&;*964!>T%H8^2&=H]4%"R*Q"V*W<I%=/%]":D1$
MD'0Z0!!&DS@/O'ZVG3XX"K6-2K;>76UU4]16GWAM-8O29L5N]<K6Y6^I9]:>
M43M?7V?^RHA59XQ,JV6,3.-8\"\&KF8D5&($K'",$S-OZHC,&PMYW *,AX5)
MQ5V88;0O*J;3G@'0,*N*FJ^*;F5-'(BL1K.(FCA^SXDO2#A8<>18]J/NDSJ3
M-M9T2\X(C$U[)%PG7B^R8IM)E78B5-J>?3,5*>U8HB!-P!<X[!L$$F4]QW,>
M<V,&L&S4<B:PE23/]PBD\OM\8%'D^F[('JS)R):\0;)X(T'$18R'O'Q1QQ8K
MFJPJ1=4=E22S\PC4<_]6Y$'4&AU1O:28N4>\)'J&824W-ZF55DVN*SNG29>K
MS.0(I-1>&:03FNB(G'0]P49\,9M-V!T0+U\\;X:C-."H.NBGG;,3A7Y:0U-W
M,\=70AT=T]N)VS7-<% 68^C(&#OW8Q"*9B.NF(ERO0O]DFMLTB%YX];WDB;(
M,]\E/))3LQB5EMJ4U7IMAW%,0JFL(:14[PN%DI-IMC:83#P E37CG96Z'P'=
MW^8.2+*/50J=P[2Z<N8$J\"*!,BI"XM"-6S^&K)ZC>60RZJV*N_B&%@OL'IL
MMA1IR]-H+,:/Z(WSM.PD3] 1WI,@FAY<SV!S^:BZ7E\^JJ[7<QU5'_Q<>BE6
M,YMKM5Q'<?H]7&LUN.OM'J>YCH8;!?5PU1M&,8NJ5W5MIYGU)]3'%,V%6!K^
M VV&]]7$]7?V![7/VK 6\DBE]FSZ9CP[*D]?U^U&GG,^/IT3&ZT;$)MB0OA2
MK&-#M?U>&A6\N[:8AO:V'1H;.>Y;1LZ&15 SQF4#S]0:A1T <-$M9)/V5KO)
MDB-(_C?I*]M@1H):&)><T,D;]G*J2Q)5\C.D_;%[X_1IYNQ!S*V>$E,3^TDN
MC1S$:\(35S^E"1FFDU3B8@[,VATX(W$BM22+]</+XH92:9FFK.PNC#ELQ[H;
M\Y1$WBZ/I]^KO&VHE99J[BYO2VQ-?X6EN_[CNS@VS"6_UC2AVXO\TD!^R3HW
MR23"7%PBH1M6O(X%<VHR'GH7*5$:HX=U_BRTT]J[.BPJ$B!E%ZP+W80.(UCU
MHM+T"L1DB0S*R?T;'$#Q6WNXHNB<=8]X]A<Z3DP; !VY$GW-H-)M*]$;!IOG
MV5Q7B3[7F(_70O159;N--P9"\D"1):R&#44YK"B'%>6P/"Q\!S7">3ELPP3E
M)!MY"Y5$+J HARV6/3@KAVU@)ILN:\U59IO(#!?EL#SQ#]?EL(TZAENU^LY9
MH2(5793#EI&3"B^';33P/(VC$XS3U4^B')83)LHJA\W)-4WT=DQ%Z"%1+;N/
M7>>KECT@ZQ17+=M4L'^6J2T/=1/%LJ)8]MCJ9EMSJHES31MR4Q6:013+\@<S
M42S+NVVZ1;%L4\.A+K):*ZKC'F>ULO/]RE<<'+-*U5+5IBY-$!'5J:(Z]80*
M-$5UJJA.+84A*:I3177J"L.O=OC$UZ:.H<7BXO&B.I6G:JG:8:NEFD:E54"Q
M5 FU3VE"=*(X=3-17#^"*&:3C$5Q:GG%;?W XA:3O0IH!E!F8SI7V9D(NXJP
MZVJ1WSB"R*\7G [#>]E9P9;YNK*SE;,G.2OSN?8F\VXG\X575_K$%5/Y!GG'
M-6KIV.TQ&UN/I6=/Q'%9+'=V># \>DA^S8W;G1O'&TIC-C7ZACY15]*!K?P>
M[/PI>=!H# MRO*0D#-81X6S% ,NXXC'-6#I$XG'#R01H/-*GL  J2]1[)#@S
MU_%L.J(>GF>P-213F$<X1-?%.W&9L#OX-1WOOFJ]<U5*""37]Q[/&"NGDW'+
M,A=W=GCZS"!ERP_99.7)]&#XCLT#GH_X#X%TPCCB[])'XB8#U#V<5\S&0U,V
M-YE-20ZI"Z]_E*5'ZH%IXL:((C;2:!@%;$3K9&XQ/#!?T>*:&M]._/+O\:O;
MGMV>>^]5_-J\)8W-1J6E59?[I<]5-,95BUCR.0@HE8:P[D$H(2':T@\"+"CI
MJHPUAF95NO47&GXB%IZ!E'&D.2:NI(<O:Q]FB,FY6>2.YNT<6,3HW!,<G:MS
M7(/[%J+N U_ZAA)(NI[1GA]^>F1L@ZUH?RR35HFGUH<+4]:E#_W 'TK_30!K
MP:N42#X49_[X<2!]H[T@_D*)O_F8JG-6,0_JY@DT$CQF0%U[IF1^Q6/QWGD9
M^U$:$- SGA])/4H]E*ONV)[*U407_C4^ST:#EFG ,()_L.2#[0=N\H=H*LT9
M01-K8':[@+_IGF:7M7Y+<.N"?EBJ0=^\\7;&\&>@-D9L,[2VW%:[V2S9K.=I
MUL$X91N L1]K=M8KP$.#;\X^#>@(J)5A%T3E>#A$;"4VWAP9S- TE@0EQFMR
M94H'&^M[1@>HJ^78JDY,]<7$B@&Q8UJ=-C" -<^3NK%ED7PVQMY=-H995;6B
MLC%,/?LEN1=E5!MZ?6_9&,U2)21T&2_]B'GI"GGI2R_XU)KP4Y[PY*;!@APG
MCUS"#$7,!FDK&^WS'<#*.$:(&R!VT #F+07L@!=;7*[(=E'L ^Y;U0K-$LD9
MI#[T1O,$34QEL\3@&9LQ3(W&!_I$O?&&$9-)@%I7E$I+5W59J1?54*#H&#0B
MK)@ M$B_>M_I5^:&0ZJ*9"\5V$MKRLW&SH-0#Y%_=:"TF$,KV>LX/, B$E,W
M\? Y,:>J>\"(B4%\XX=Y.SWIB@;67EVNZZO"]H?)BLFI9C9)B7F?=+2#D-V-
MCG2T9.2F<=R1TPD=E;I-:I?%O*9!.C($\$1A'*F=1+X<E]I2[U6*P<0B; ,G
MC/P H3$;F8M#:#.!U.1D>_Z2:=@63WBP7ZK[BL\EEH5OQU]'H.PL=N;MS<80
MB8U BH/!HP#((P! L*@?F:V2B 8DDI[]L6O/;F0 H(]/B2?QOKF&G#-'SK/O
M@2TL%V1- H.X> =[<B['P!?/ ;FF@K6!6B=DD7N/8CO<&.Z.9SM6?'B<(#8[
M2)N)#F(-'(JG]DY&V]$)>,$.HA9[ YDA,(P(AS+F(6"[V'$T#B:OWNCL%>7(
M^@,QTZQL@+I$=IRA]7.N:=5)9-=A^0[G9_%G!>%371=28?C\4/L8"\+EG_F.
M+M)B]K:WE"AUZ826ZX< ^J63"UTQE@:"PF?+ T&_W]U=_GY]<R.U;R^EAZN;
M=O?J4KJ^[;9OOU]_O;F2VIW.5;>S)$XW: ><O"YC$=K*8Y3BL+3K8>12\X7\
MAT[3::_IPS+09&YXP+3RM.*P(@HDN!>G$\7'0R0(8KW!E!;*@DD?[G4'03$S
M3$^# CK;&/G='>CH6K6AYCN%67EVHE9KZMN-D(]PH,/EHN!1S7RG: =8E%;5
ME'PUS8=!G_8VI$Z@.KJYT7') \4F):#6WNCL>XK[;C]&U%IJ/W[26WZ@'GU&
M3; Z@'6*V[[V^@$)P2"QT+!_5UM?KH$YT</0K\0%'Q.,KDBZ!(]RV*/!)'U6
MU-*+PYRY...:2<];=ES3E1HF'S1EM?Y>*N8%)[US3EHSIW=K3JI76@U-UG</
MR M&$HQ4!D9:,S!V:T;"GNH-0]9TH9($)[T+3MI/.UU=:;(SXEJ]X-:6I\=(
M[Y"+3HR%]L-!JE)IF4I=-E1>\T4WSF8[?A>J]W#5B:843N89/8J6^"L$T)IF
MAY,L@@22E^, 8!"W,LTME7AKDU^*-$+>"6A-B[9""4@#P[ A:X8I".AT"&A-
MPZ?-":COO%#[[-\T\+-H1Z\ D30T5?LLB.=TB&=- YNBB,<0Q'-ZQ+,F![Y0
MS6566HVZK)HY)V4?:T+0\3V2]W#5B28(?/,#^-.3XIEQUJL4!? T-W,VTT9"
MZ*"#_+K.D(;2+7V6'OPA\?ASQ1+P7B30[4Z!^YTXWG)1SMN:K5:89BMH+E\!
M\53^B(I3IVP34EHFF3JX\<L#' 6UE)9:-O3 BA4\#2%X3I"4-O3'BB6EIB"E
MTR.E#;VSK528IG"DPD[T[&4F37B^?U]>5_?-9NJX\G>69U(\6,HN*FIKNF)L
M>XRNJ9669C9DI5'4B55Q2#M2T% PJV#6'9EU0\6>FUFU2DO5%+FV>_ZE8%;!
MK()9&;/NJ7Y'TPM+EA;,*IA5,"MCUCV5"&E&4?G8@E<%KPI>99.7]L2J9J5E
M-@VYIIV&7BUU@[X4B=A_;69(F$=9OR-B6>/A.)X4Y@Q'Q FP9YWD^O$4DYR3
MO.8+"<Q5]'3-7D3M]O3EUY-W;][/L38EN-HN='_ =>*(1UVO+@=RUHPABWO7
M93:>\NSE!@BEZAN8]G)D])EDRK.A=8\ \L!]91T3PU!Z'E"<#"@1*0)^?:28
M!R5AJ^5(&B!\K&3(6CQI,.X6F#P0^R_"]<-9$H]HB(TBJ]+L&M))@;@$[#GH
M^5DOLZ<O6XV8K&40;]5*<,<]*HUH@!1%;3$!+G,"G"HFP)WV!+BW&RSB3CCI
ML#@IZIFVM93BOI:%]%S<8%CXU]<?Y \_N'!!/BZW9M0:Y6G-.('E<IM<G.#E
MA%$\IC2:&Q&V78_%TC14-*O 5$4-HU+YZ\@G%I5C4>K:1QTJ'3CG>7^1#G!C
M(_\WV\&<[*1<H]/>SEEX STG,#9N;5LW0?*;D?P)C7K['H#7S:8'7B2]F]D?
M;=:_^=W/RVNRWO'KH3@3STC!-QE]4%RW3'[A)(CM<$#<D=9X$.B''T%ETS[S
M^\Y<YRG++3H_$/452:3O\E5'K<B+#^V:_!%X-R V!5?Z5^Y)IJ=W*)FUL;(?
M*];6G"M.!5QF8.OJQ7+'"(VMSQ^;E9:AR+ 13I+K"ZC$$)QQRIP1^-:O1;:8
ML9QFC:8<)4FZ<H(E28(13H(1UO0<W+>*T%6A(@1GE(DS]J0BM'*H"-%0<K:U
MR>[!@:U:-(G[>;E?Q!6RBWVM7Z[_R']WGT.KE#4]?=Y(,F$Q\-S&E5YIF;)^
M2K:5H*'M:6@C*V4#JC(J+;7 9N*"JCB@JC4MHO))IK<M7;,<EJX@H ,14 '.
M4TG:UAW5>>+66EQ]"K415YUR3]K:FEYLA1N,K"Y&ULVBZL4XJ,X41+0]$15E
M,3:8Q5@7C?I/B*K6]/8K7#0U*RU--H5D$C14H&0R%)1,];K.-56)*&,6I?WT
M1@0KV[!&E%H##U[V^"IBC@L\5E_3#:]H.6U@E[RFK*D[SS80WOTI$%%1@EH#
MLM+DFEK4%%!!5AR0U9KF?_^/O3=M;AM)$H;_"H+3O6-'0&SBX.6>1Q'RT?/Z
MV6G;8ZMWG_VT402+(L8@P,$A6?WKW\PL7"3  R1( 61US,@2B:,J[\S*HW;9
M9'1NC9YJZ#)T+8FH1MED@FPR5&W<;+*2T<<R4GL7!0 U[BNB2X?G!G-[*2.1
M!2[;T?JQ=E'=!\=L8*KC05UMYJ3#WVHJJDM6#SJWYD#MC9KM\4NRJD16.UI=
MUBZ<AIW;\5CM#60P4A)1C;)I!++)4/L-)RL9C2PCM4^>"RM?+'G(%?;@<[X0
M3;=D.'*5RW:4).X6U46V&7=N^S+'41+)5E%<()L^3GTZ_CA1DDUSR&9'+=L!
MLJ6O=6Z'O6;'=221G(E(*L@6O7,[,)HR4JY)X<!#78Z-34 NDTJ/MI*J>1Y]
MHW.K8^*?45>*UG[X:H&O*PDO+7J]]T+F)#UB3^0#]TU0N+K:,R4A7C<A'FW+
M5:0[/&\P='5@UCS61A+>91#>^23@ &S'L:H-!BTEQ!>-#S8M+$@4H["-C=6K
M^@*'#^"YW+8C=<&D[9)KF^VV26@1?58644.<A&RHP^/=A7I1V-"&/Y)I)=/6
M[^G796^,ZO*X)"]+7KYJ7M[F.M2K@,?@K0X-8-JZTN$ETTJFE4S[(@IXT*O+
MX6\J+Q\1$=@^[76OH6XD?HL3W=:PF<?@AQ]+[@:<1N@5)[H-M#TGNC5EL&<V
MJBV>N!8M8)7PD( FN6T,3B@L!Q.%"Z!<^+BWP; [[(\O>XA9;WBV(69GC!!N
M#7-G$[=6A>/F@1(EFKXQLUSNYS[GRN]PW3Q0/KC3>*1+.J3LI>>Y7/HLG3UG
MP,FY0P)6IQL8)P\@=IK"=R4Z_$"#<C<17J*#M,>NV^X"[:B@S9/0Y]FZ%U39
MW=$[MZ;:']<<N=A+0C8X-B&9ZT*9:T=94<W,A8E\ZK"V+ADOP%P-L01J"#RL
M3Y/W9EN"2;]%8>3S"E$(LT51B#(C1!3<8_,F;TM^!-(_12E\OF VN#H^#J"?
MV4CY-(M98>Z4+G!AB_#%(U>>.?,IM.%S-@,K6+$# %4(+(.O8T$<$ D.#&44
MS>RS!S?&X^ZH;U0>93_H]FH:93_J#GO5HB3;0ANZ7)-<4VUK&NG5@FY;UJ3U
MMSZIGG!(2[SXHZ?>MV['@ZO;\?#J=CRZNAV/KVW'1F]EQV>*\[V 5RI#?3(:
M<<)TPZ)K^C7QR3Z#9XL>V?^ YU4Y9$&=OM3>J*Z&L3(@V ":E"QX'A;\!,^]
M?^+.(Q?'P96Y;P#<UU?UOBZY3W*?Y+YJW(?Z[O[)J\QT8LS.>"!5GF0ZR72'
M,!UF0%5FNQ&Q'7B$DNTDVTFVJ\YVOWE1=?]N3%RG]>MJAR2YK@%D*+GNC%P'
MUU;ENB$.MM+4@=X*7;='Q@7^C7"VW8C@(P[H<;?V<*SW!@.3]::CB=GGG/'I
MD(U[L]D(_IL9QO]BB>O64WVB@G@3-\AA;W2]FQ[U8XC+#=_<B,]JHCMM5_2:
M$B=>#5\+=!5_5LM!^8?G/MQS?_&>3\)B,@G.T(B!RZ=W8?S93:'0Y1^?/_W]
MYO[#U]^5]Q_>WA=QE,^?6,-7]JJ;\I?I&S-8UG(N7JJ,YIVW@/<]*W,V50Z7
M!_UMF-DY\[B7H4P_ILRMME48G5O7*XB8P@>*%X4!"#MD,%C'),0T'&^FI"4+
M62[/>V[QQ83[R:=F=Y^\G#-E.=%SWM@AO,3:@VR^\D?/><0]O_/YU Z5WYAE
M.W;XK"@')!N]!.%_=C.$C @?NDKI5@DWT#F?R-SR%);L\R[I@*V\PHL[ZQ]W
M7BM/<QM0O_2]1WO*19X74_P48):X8Y8 #$G#X2&\C @G_MIVX0N%/<!S'QAV
MWEZ Z@H5_N^(.9A8]E.EUJ"#%1X9%'@$H/-Y)K:2(/)=Y/NPG[>>[U.)W3NV
MA&_"YY17!AFOF)U;LZ1/M0+(<N"7KG)86N'G6<G";!Z4B/E^B>3M%\5\:=%@
MG(P7SO/H_VN@L$=F.VPBL.2Y<;+>1C02]@J)=X<H$EQX9<YI11%B?]#M#8QZ
MZOW&W7&_6H[6&8H0<5$RM4JX%JLJ\+J2,PJZ_B4R-5ZF)=Q&$7EM&1OZ=843
M],H-RX?;XPG5K)**480!F2QJK[;Q&C)XUP#RD]RVF=M&+\AMPU9Q6TV309NF
MGO_!@^"-0L&*R7.9RQD$D:A:"N>V/U66S$=OZ](GAHIP9"56&E=GI=_9#WL1
M+8YG)1REIHX-K<!(KYLQ1.VJ9_-5IZ71C@'T)Z6E<6-HZ8)SU]>B2'6[1P<T
M0VN)17?N[G]--_FJ3X0ZP,$2F>\ @J.E"TBV6V/<5WN#NJ:,U8?:9OM@DJ4E
M2]?HQ=7(TMIEL?2&[(QB-L:+'<ON?79O,30M_AWQ(%00*KAVYB@SVV6N18==
MGF*[8'*P@.\XR3K'Z>)F$[9PNCC2<5+EYM-%Q?/%66UR4@N_+A3' X" ;QLM
M*^]GM-(UZN.GW]8WA*D$']T@]",\\84M87>3R W+%F\ QVQ;?!!-_L6M$!<)
MJQ!X"_!,,CZ2M,6YX_HQ<U>Y+_F4-@*\'FQ.X\ 4!<M[Y$ 686'C^H:-4Z/9
MU5U_BO!XX_,,/WT7/V^U1@>HVD*9\@0<''"W),=B9'9NPZ=BDD5"M4"_R5*#
MKG*7Y54(69.<+*T>VS^Q (&&$ZL=&Y["E2<;X,@<I_RQI7!$$H*+0QZ@R;Z6
M)S!L4M[&5@&1LE< !( =9LI(29EP1KS#?1 >JL+"/#S_XR\C71O^"G!8(F[H
M:Z;XF)*0YB)0K]TE@-NB,V@!!&7I1('RBKV&RR<H=/ >57DUP0^FX!,]*X$-
M.,(#>"O"1 O B>_BZG-2BU[TJO/M\V]?.Z^31UBO$R['S\4U( 1>35]3LH4%
MXAZ8 '\'8  I4!33LGD JU__]#E^*%S/F34'.1KP/%.RS:SD$@L4F,BH)#T^
MQG#_"JOX%F(?GR_<QV-,]L!3EKG1,Y[I=VZ+XN1G9>9XGK^!FD'N.Q&FHF!&
M20%/(EW%9^X#)JOXWJ+RCE?RP H)6$?N=P#[[6IZ<8;'SXB>JDM=21;3:UXJ
M%C]U2X3]ST26*1.0;@HH[^<@< \J$=A;%MC!MR4H_NEG][\8"!7 /6Y)*]T#
M5I+4!^[A*9<Z[MSJF\%-H@%AS!Q (\AR;*"5,KU  :)DFJ3VK L\<9K]"33Q
M/SA()D"Z\A5-0A53?:8<9!0EAVU0SQ_=U Q3R\6N':S(&<SW<B/238N%'=(E
M,PZ2:<F>B5U!VOJP$^=974NQVVJRQOK U+M#3.Q9>@&MZ0WU* .09/D\/Z_F
M',4F>2^[A4W ^H["S;>4M0\[G[+3]#6PY'[._2QYY('?3(#$OM]0"[4WS'EB
MSP%Z WD]#DI\#7+KF]ZXM=FLYJT)*P+XR/,)OV](E^-5L!+VPBM0YC[R^E]V
MYZJ#=*2.?VC%O4,QX>*00'9;AK7-*=:;DZF;8'"MZ-()#Y\X=RL+S=$.H5EZ
M4IL*C=\XWZZFQCW4J'J9W$1Q676UXQ.O5J/5ENDCH",4K,*69+&(!LKTV9,+
MHMTAXS^^:+.W>Y .N# /@/F9%3YYIFM"GTT1;!:W'Y%K S21P6D*/1\4T)+[
M <47EKX'OX?P$7@#]A*?IA(9/7 7X.7D^EX&"2[6@1P <.P9&*4N1G\6V-#2
M0M48V%,;C  .3MH[ML34=&5J@ZU@3R+A)=.R<_YS;/=O0AK%1VR?MBS,+PNL
M8;'E3/UF*=>.#42Z!6S=?=3P?G4\ ZUZ'<^P4,4S/'<-SZBF&I[W=F Y7@#T
M!Y("J(.[ 8'PJVBD^LX+PN#;'-#]%IGU"WLF%!;3P,=Z,0U\K!?3P#_\\X^/
M]_]S\_;NVX?WRKO/OW_Y\.G;W?W'SY\.RM<6;RAY;^,+?_YN3X!'0W#_/[K3
M"%D+^?RC:W65.P#Q%)O* IM\!9:D#K-Z3QLI'X")0&["58 $-*J_@*2-JR&2
MN^A"_#PMA\A\4&!5Y$\0!AM538"X#M95S;BW0]5D))(GHCN?]#$Y&,\%*KI[
M8OXT"6;1M\%=%,X]G"(TW2\^G@6TQ@:8H>K T-1AK]@!0Q';2NH*'$Y^"F;=
MH*92,42%O7OSP2R0:@\^$W4? /0;H:SL%/16;I\*PZT$B4N"*T<@PPIN,% #
M$A;U'$5Q ,GHV *%(U;%LE8_"H&M"!\!"7L" ZK3Y-J5S_(7([V(#RCV'N 6
M.! Y=3ZFC"++7E+DK2TJ]$!&&2C?" S$'8CH3X"(#XNEXSUSKKP'/62!+@UB
MQMGP93D+5>6;7?'LE^<;$]L9EN<''L,U,4< %\0/6;5 _AJ0LXU1>$(5VA B
MXY&XAB?XF*;X6+U?4/L28\6A6$&&.7C6E,_ <B 3:AG2(B+ 8KR29>3C#L(D
M?HKAS/3Y6ZBA26Q3J69PFQ<K5,H-T9=R)Y!VHWSC8>B(& NQ4D$95Z@H.Y3"
M/PMY^7<DI^"C"[Z*[4W_FW8%FEY8E_3E>^#[WYCM_Q=SHDV=[<<E56KCDBJU
M9AL-Z_5S::$C]:HGB4#$GFD%P8V R6GDTWU([S3I"W@/)WT)"9K5"S''@\OH
MW :O?8KA?9,X>?2\FRD:Z3. N?*(0,>74@B?N/[B>]Z;_:Y9<9[?YL^-T?:B
MM;WKW[2N859[U.E;L,.B!L;.R8!R46)1YO:7[UF^V-SLH_(\E:K5B.-652/6
M47_9NAU7*KEL$MV6!UN$651?%6V;YR\20(3S(=C9F]&<T+UA=.T#+ F B1E[
M(V G;"OZG2S:&S1IZ4^T:Q4R;"7Y2?)K"OD=6C)R*.#*],#"GDX=?E87[$MY
MY$UYI;U67NF%PIUC4];WJM"JI82X-%?W!0!<-;JV*6GRZ-B#B(IDZ3'!9YS\
M=C]G;FE4HG+0;="Y'6GJV&QP36Z,_K96P+\ ];YD!7R3F#4*,%N/&&L[QQ:2
M ,_%KSNCB&4\.^S<#LSNL.;RB\:RK-0^N[3/KFSCQFJ?4>>V/U+[HP:/YY#:
M1VJ?^K6/T5[M,^[<#H?=82L,QC,U<7D!JOM:FJ=QD./WHJTYFL2P&[2KV4[M
M"IL'[=I3AV:QM4=%5CVJOT=U!;J%((\FPH:P[_XZLFQCK>*J;6K0;*L:-'L:
M.6'C"^(M*>R!(OMM%?9ZYU8?JX/A!1&D%/87)>RWE]TV6M@;-?D\-?'6#K<F
MR4F#A6YA17G5IJLD>$\/WM6&.^69F<9ZN9,V*LU^7:V PHO.V^I1VU@!=5]2
MZ;:A:D)YA5?HO5^_?/LCH%^U7U\K/E^"E8+)Z''*>))%B_GOHB* ZCQLK,/+
MY=V*BSGSL3Y]RD&>3JF+2=;])+>,DAJV?/E3JY&SL5Z+YFN\TK>B#E&10MQV
MJ8>_6EHL^M< 4!5&OHN?8XUD@+=8<<7BJ\[7SQ_?=41G$KPK3P-+4DMQ^G-A
M9(":(+%B2>Y*@-%8Z>%S.DW[!Q+RO?>6O_-<5%[Y9AF?9_= /#Q<ZY*45?F:
M/9P@T^^6U23')1$A/0& 08BA%&\^[2K8\,3GV--%K5H6LP*FWIG M *ARH9^
M'PS]@6H,BJ/O8D'R9#O80(*>CY4E2>V,.U4F/&GP+*@9NQBM5ZSN-[P)V:^]
MI23O6#!OR8BJ^Q4ALU("&%<VA7.65&^G&[1@@_09M642UV5%S+\SEPD:3NK3
M(M^:8VN:K(PSUD:_?_OR)=5&<0D:T%):Y94OC5Y;9:Y$$?2_&PA&5?")6;U(
MOAI0+':2-J 3M5-,6>+<2,^-I8#MKU0\J@FI4W$AW!6YN1I&(8J)"S?7-M)L
M+GCF!+M]Q2^:>.&<OMFXB+0@+-;LV*@E**RF_)U=):GL"K+"R'UWK("P\N*J
M?"Y6CG"_ 2%BS;&TAO"-5%#^\JQG%T/E$\OGW,9P$=@%(/_2)I6<[>07L0,
M$PD]7Q20)W!2"$[$'*(-A&AWC\7_ED7SU8BA4LL+JY5)A,9<Y]@QB<;TO(JK
M]"$I%+>0)++2@K. >BZP4-0Q 3R_\S K9\*';J9IW&"XWRHV4 /U0%@GH0W7
MKJV7;9_I-AX4%>IDMT*=K"O4V%6/Y0M)K"_P-OZ[6 I>5Q(TH]:#T\B?LN=,
M>0ZHQG3=Q+V!:]+F(9L:5! 8EOA>T6$M 3&IVPE/&#^AIFE!'"<]G.#K%:D7
M+:DC>!AWI1#B*&D^N"(%@"4>X?U)N6B\Q/:P)M7\D_Q/F,CF:#A;> :<FM0
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
M*:5^&=H+6"?=-XD"6%@04(_4&8@*C]JB!7SE97,&3W1$IQHO"@,O\BU\-+8
M!NH0@,</'._IYM%S 'DJ_JX(B*>%"JH2<,>)[^0_;%J?0Z_WO9DMLIN3)6&:
M>9:ACO 3[8A][OD/S+7_3,(Q66]EV&2$10<"7#//"Y?P6]A5[K!1+0 S<D(U
M?P_LC'K%17%/7RP;2%KB8LMAV)S/0[Z&!_Y(82%,H%]XC]15&/O$ I/0:YD5
MET3A=K%Q*I4Z8&=:-_3\9^7)MT,.:N/)C8L<LA,&L0(6!)YELR0!/P=C^&0%
M(/FH5$@IKPN1\BHZYI=T1$L8:D\ZO[<7\)9/_$GYZ@%TCZ/X;H&;#ZD'V""P
MWB'H2B2442(9C**$:GC1QEJGJ0 ;Z"(!AF+&!?*2Z"%E9U2$I3 !7@<R@=D^
MU<E8<QP3$"BOL$'G(]:U!*\S!I@\PW,?XH*:E O2SH@I [!4.8 E!2QB3[ ^
M8H)RIU :L;LPID^ZLQ4=I_1^=]2KJ;E3K]L?5VM>M?ES8V3*1<E%-751@QU=
MVHXJFBA4 L1R8+OST\A*@+/U.,,^C+O*)UH!L6/K3+8?PEP2F"HU-SNV]*85
M0/F 1E-2!GHZ(KH4<-V1+?DQM24EQ':*<VQ>M0>8K@(8DMLDMYV9VRXT->DK
MQS8;;F@7A<NNG5W3J5>U+;?]4$OK[:BC>AN'55$.4ZQ,JWR4A9,85,THYM#4
MW$RQ"8E8DI,D)VW@I)4 =)8G>N=.,W6=U9)52#HV^K4E'4L6:P+921:K@\7>
MB3.+RNIJ(-65Y*4KX*4=^4R[#+_M*JF^.AC)1DT@K6MBHVK%*T4^"F#=\-NQ
M]E^1J4:=VV%Q(&/E2@3)2I*5+HB54CNOR##CIC/,F8IG7@#S=P\AM^:RP+U
MXZ/J9E>!L,U>Y[:VS/ &E&5(LMA%%B<+'IE:.RK6)3V=CIXV:U!3EX+FP@AC
M7(?^P0'AQT_'DG31'KHXG0(RI0*Z=GK:HH#Z39(T9\H,>0'<?N4N?Z(2D:OH
M3U.)E+7>J5,DS$'GUE3[1J_1+0-E1YI:R>;H>+ Y[-R.-$DR5THR!YYOFR.4
M-0--$LXE$<Z.'FK[>74X5G%P=(MS21?MH8N3>77]7MT) )*>VD9/F[VZOM8D
M27.A'>P^NC.?)>@H=+"3$0I-/V$"5%^74:TKI)G3Z5-#TM.UTU.IP[>=:F1L
M_2*I9D>SX^,T5WW5)))FVD,SI]-< TE/UTY/!VBNQ@W2N-"J\'>>O_1\%A[F
M(%YVL&-'I^Z]@JK]4>?6D+'V*R*+TVG2L8RI7CL];8ZI#GI2T%P88>P8('Z4
MFS>H+^];TDQ[:.9DRFE07\!;TE-+Z:FZFS>H+ZS=KL/ \^)=W]A6<->VY$ <
M.1#GP+F-QZ?%#DR<T3@<R-E5DE4EJYZ058].11[TZTA%EFPJV52RZ6G3OP<#
MU*DC\^CV9I)9);->-;,>D(11Y,9AY];L25Z4O"AYL=[Q[Z=JPC8XM@F;Y%7)
MJQ?'JS7JS7V/.\>=6\/HMU]S;IA"O#+,MG0&<;PG.1&QH=/KY*+DHEYH(F+R
M92RC#2$7CADB)2]KY&4[3BO7)][O=]5)'GI5"Y17281>]542H1=VE43HA5TE
M$7IA5TF$7MA5$J$7=E5)I"\7QXM]=5/O#C'PMO0"&V-];WSNL-!^Y%F\#6-M
MN1OC:%TONX5- L^)PLVW%.;PGC415<MFRHMP9^[G/(U=+-D#OYGXG'V_83-8
MXAOF/+'G  &9CW[:[LT:Y-8WO7%KLUG-6Q-1WRFWL* 2$1&Y4^[C5; 2]L(K
M4.8^QM__8@_'>F\P,%EO.IJ8?<X9GP[9&-8R@O]FAO&_P\[M/<60O9GR#D/W
M;AC\[1=V6X:UM<AT.GE%O]$[F[\U;K2-!/FO* CMV?-Y4Z/G7)EYCN,]V>Z#
M(@+H2SP%G/)  <1%BP7SGQ$>3W/N<R6$ZSD.)F?Q8')@_R"$2]VIPF@"MYV>
M)@;*$][B(TZF?*K8+MT.<*%#!!9RC.7!/^)B>(?M6MZ"*Z_H2B^"C4V#UV]6
MH;_Q * X8_OL1P+C<7?4-ZJ>" P&7=T<UQ,H-6$!U1ZU^?.^H=>VJ,'.$X_F
M*J[-ELC6X.6X<%G)D6YSAL&#D.3*[W#=/% ^@.R<_FWB_W+[._.MN6)HZL8B
M^9<$<>X,?],I9<E!92/AK_?T_AXPWFN?5P K\V3T>$;:;FM_14SJ0W4=L)*N
M^;OVMC?U76(*S!Z[;GN2BZ:=853UL(>MO(U!,1WMJ"R8O41B@[/.)%.UB*FJ
M30C5:IX0.M1JS>8\)^>T4*^WHR/6-^[ AP^J\L!=[C-'%6[]=&&[-A 5!>/
M^U]R-Y!-LXH<>M#@P8IZ3^_<:JHY.CK[4W:::!#AU#,P;&C44E%S4LIHH>AN
MATM&+2[6(K-E,5G%$O2CG"]/_!I,T#K TGHY=@;U9S:EA+==?J'D6LFU)ZU)
M&O:;49-T\4YGL5QJM3QJI7ZJ**!7D?O-FO-IY/#/LQ4TPQ_<?^1OG^^?E_ =
M1GOOX2EO'<_ZGF%\T%$XT,$2S[#]B'<VG<P2S3;PE!N/I5W+=L 6PE/I"8<%
MN_@UFDW<11)2')M-; =M*=!3I>?>^<-M*_)]-+&890% IHFG'"A>R<'WA#G,
MM;@2S#FGYV"N"R[.HVO?>6"RN<_4(6[X*WZ?0Y "!KKGPUV''92WI5(.S\7'
MP]J.H(VZJIKZ1DWE>[BHT=9'U7,XVI(SO7W./R]KQZNGF!<:57P;2SH6*O^7
M@:+RGX55H%4-25R9K5IYUVTW1:LT7(UME,H.Y+!SJ^EJK[89P(UP$+=$5R5/
M73=/53F+/Y2G1IW;@3K4ZSJ3."E+76CX]\,&U^3!A8=,Y034:J'*X_OW#L?U
M]N]M0*CQZHEF1Z1LKZYWHUZ=7>_D8*_R]$06S)4E>UZ(\HTKR%.HEDJTG8Z_
MQ(#[S?-7K(.J(G"D88K>8-@[(L=(9BDTAVQVB+_-9%.D#!V48]]X>;JX4&,P
M%W!)RC?D\ O9Q; N.ZC*T+8#7<J1T;G5#%63_8$EMTIN/8I;"VGC)^!6$P-
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
MQ7#%6UIQD?"K /Q U&#AW .G"-C? HM0Y$-\ G HFM+Y1J,UL'62\@TV:,\
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
M-2Y6,JMDUJMGUA,=Y8Z'G=N^IIKCFMN32V:5S'JUS#HXT7'Q>$05O:-AS:F
MDEDELUXKLY[JJ&6,U;VZVN]=AF+=,.$X&VA<-O&X4=-U@32Z/4$>%6M^M:%9
M5WWF8#2NK9*U_"5R4:U8E#&JCZ;&@WUJ?I,O8TD) J1S9+6KO*RFRTY2M29+
MX1IPE41" ZZ22&C 51()#;A*(J$!5ZVX4M('NC3+7BY*^D#R,ND#R:LD$IIS
ME41" ZZ22&C 51()#;AJ0[]8/#RSAV.]-QB8K#<=3<P^YXQ/AVS<F\U&\-_,
M,/Y7ZYE&)W=;/4>+VJZ68SKZ3:\T\[4XORO^_-O*@=AZ4L#ZR>*W:!+P?T?<
M#3\\PH_@'JY]ZWC6]^0,<=#KB<-*VXWX]"Z,/\,G\<!B2WA6Z$>\<_OMC[??
M/OSSCP^?[I4/_P4_BR=S\4DCP6KME"Y[&3QX4]?>_NJQ][^B(+1GS^<ZT]5%
M;SSE;NG;#K;N[*M*..?*.V\!KW_^:Z"\]9@_5;R9\M[VN15Z?J"P*)Q[/KQ@
MJC#%Y4]*,&<^5WR^C'QKS@*N+'WOP6<+O"U:*J&G_%0MR6.UE'F0X#?PPS??
M0L#CU_157\2;[M(EW2V\R VU_0Z5!QE! (;TWJ8*9P"U@ZN&_:Q"QPZ"",'@
M HBB, CA%S"]83^+A8?8@[5VE7NX!<&40 76#8";1KZ@$GCH=O(>I 3NP_/>
M?$-H%R#P/G[<RL:!(JPW\*(GSY\&W,UVJW=N0VKB^LR9'ZQ3M:IPL0]!%D:/
MNKJ.NDKVUD!9L&=EPN&?*5>5F>\ME-!><$0V_JMB-S=&N @(/"R$_=L6W)B#
M(&"9+^#[)8 &OF4AW!=$DW\!H>&#@$V^\Q#!,;5Q;X&*ESJV19$=AS\P!ZCN
MWQ%0Y@+Y7(7G3?!ZX'J6O-B#]_GX#.S *F 4=)4[>'D06?,<U:9;XC^X%86
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
M:P[KLL F"L5A'W;JP]6NOP8/<;C0+V$@BBS #Y\F3G* Y^K)!Y0$ 8_WXN>
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
M78)^$=6]J6K)J5J]:_Y,.N4G3<LTB5 N9K\FW6*8ASX(5 OIED0:)RLG&G
M_AR( '4-J;"\*7.4]0+6TMP&@"UH(/J<N0FA,473NX-R>U' /J>W@(S^Q9&,
M0M2"4_CB.1#;?_)B&N/)14C5L!(@1%C,DOL+&UZVA"\?F2/4:XQ-A?]8TO7P
M@CE[Y/'%\&#;!=K[$UZ-9"_>:8&A15F8N$5&KAQ! K5>K$P#D#/P5PR3KO*V
M8([I.FR8=+('/IGXC2C,SAFX4Q_4FXN,"*ILGL*$_$#!B*1"\8V;P7X)K%:T
M_O.6W+ [6K'D@&2UV)0SC>ZP%F[K:YD[>;PA!QO$_0OT"=H3S4.5!\(XT9#C
M/:&]Y7G?@8*1!V)*C*$3T]B<.3/$.+XI85IESMGTR7:G0"0@?BV;F">EE??<
MXHL)/)ON 1!S!QX*Q.TX0HQ/X79:WYJ]""NU8TD?$SH\05>^Y"W&+[YG.6PA
MK@)^L6<SY'@6@A:(%EWE,Q)OZI]D6-2-GS.ADC-9 5HLYQX2K0/\R=B%5\"=
M%H# X>X#:)7-1F1[:'TUS;N$WL&:B[5++Q_BH,B&EA/6QY [/&A<#[F35R#T
MS-,:+A-1'@OQ913,45;#SR5N&6&3."H[Y:FFE9)/%XA]@8*2T>T>*0,@'K!D
M -'@V#RH2@!B$CPI$3:"]\ U$;'9(P]"X5.%]-@9!])E3J(*0JXXL#.G/<;,
M_0JA6?F P8/O@0LGUINC-8"_/@#'^!ABTD?=<<4'E#J_J3),+$D240O[!R'D
M$1R[A<"(C];MEK@16;4@,_*6+FIA^"B'?R_IZ(QN\&P&9C!W+31D<\[KJ/>+
MWH-7@=XE5[0]I/"- V\C]0N3SA'1-#8%M]$.R)P'*^A5Y]O?_X,MEK_>=5Z3
MFG(#OA9E[95$687"U+MZ/9I7/U2%QU247^,J264QR%AQ"I4+B(?W@-BPP,^F
MG>*"8/-"J26 6 N>K>FM5%8E(,S?Q_ =&&! 2EV)#^*RDL &K&L&OZ'XT4;=
MWE%," _0*C-A6XCY@(E3\4Q94ADIIPN;>M-7V]!V^6.KM%ZOVQ.AHRISJ\Q!
M5].KS5#:,L_'-*N-P-HR9,@H?TG510VZ W/4L#4!H/KC[8./)*"2"5':SD65
MI F\_-SOIEXE![E?V%7'C,T:MVJD4AUCLUJW8SDV:]?N7YX%FWK5A0XW^EAJ
M_S=WTE%['][HQ;7WX4U8W,M+IZ9>56LW0[VK]YLG0>7DIA;V@#<T51]4[> M
M.VF=MMAHV'V)45KGW.+/!]E51U1E2 GS8A+&5 U3-AEM%$ZT4?<E,"(E3 ,
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
MZF5L";F9C4< >U7N0DA&^-KSRA=,!+J(%X7_$Z*19;Y63\2GGLDV7)$\6^P
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
M/1WL,3[J]/;WNYT_OEP_F**MN&Q Z(],Z><!#Y+R!QU]>X %),4Y\[+%1V3
M<2 Q[^YY;-+1!N\?''23\AJ-E. 3*B2FW@+?E[PMYU,0W7PA=;^C[^N*]MO[
MW7:O:XFZ)7MMY?>LDKY<B*4U/.I$-UL(2\G)()1PJ9B^@"$. R42TI\A#LB0
M@*_"*  =*)D"J=O*22.0-W@"8HH]J.3&CV\0TOR2R91QB:@E/,1B8)057&JQ
MPQ:*8N&:>5B:$-<E16*75;X#@13Z5UO_VGL6?JM3O=90M$<83VO5G):):H^O
MU-&@+)3RU,@5T;_:B5Q;7VIW5:OLKJW#LKG4TR&1>Z$.N:VCB!27I/DM7JK&
MHJG55B.6K*5&?M.MR$4BH$DXJE.A &]OQ&8='TB5AK!:7/]3)_0S(.#Y=>I,
MBNM_<NK$E#)IY/65^-IT2NB011?4)1VK)TG WL,PZ42MD20>=[K'Q\<=<U?U
MMT88<X^S ,H+=Z:<38%+ B(]"AF ,8?A:4N/1>VDI_P^Y;"G-$F*6!5D6YV^
MK6H H?IK8^_UTJ $0@?>:4LH'@*(7+3+]OLPK&N_$B&4_".L#_"@KO5*!(+_
M>\,]'-0U7(EX8;!.U&OQ1W4?$?^T=<[4)/H.CY1Z^OK7^ZNR&8VI>2F2X";(
MRU#\N&_^NJB]G'FWD9%$6O1#9U5@!2H4X-_2C^;_U18>"\=%2@17?%19+MND
M<L7BBXDO2SU,!0N(KU<=#\H(,[L4;'BEEBN36FXOQ2GAXOCXJ-<]TEPLY P9
M2[SE#8'8$$60KQP-S]E$&38&*L@,-D58'JB3O5YU]C+XS>;R# =Z4? P!I!B
M/>:R$$Z>#LIXBK%0!/;*B11WF"NKQB")TG,#!&7QG&P=5F<+_9+!_K6A[&4Z
M,BS&EP%[6K-EY4,Y.3NJT1,J5&1@F\X6&SY(->,<L\ '+C[]#(F<OY"U7$@G
M>V\KL:?)2Z/_&T7X#:+QCC,_].0WS#FF>B%1G2Y;U$G+.SU1)\(+F @YJ!\Q
M!EJ"-,CW9U@0<3N\2QE1W?MYPD[_OU_UOT%!MT.4QFD0!7W/8Z'JQN_! S+#
M@P!N0%8G(5_<2</Q*@T)#EH"_8845(.8N(<9T+#&NB<1<'G[[?ZJMV/)!CGW
MBL[T4,I5_UHKOE?DG*[NKKHZ!="T@.Y[:BXA#%J-034CY?1WS^Y(EN(-\O5G
MQOPG$JB%E'\/@9[D72E;J')P 'TA:JW**V Y>3E8Y24!10H5Q;!HB8LBX 8Q
M=LWHZ!'TL^]!C?XH(^5DX7"5!2W>UO)( S3(V]&R1DWVP-=I.Z"BYFRS",#)
MP=$J!Q%2VT"A-%:3Z'@FLN]),E.>.&=""M4KF![@:C+%A)O$0@UNJJ YB7IK
M$:5@48*+#+#IO0PT2F$WB+@HR_V(G^NLD]-"3AJL%7(DC8QX@SS]"7-*Z$A,
M@3^,,:^Q+K DG3ZW5L4)!%(8R( TR/,/,-+-^HKJ78HUAXD<6:?WK<5P#()2
M*$UR?S@0\#-4!GR:U1L'+$F7Z]]9*^,E!(HP&N3XG(3:'0N(5RLG6@923L?1
M4==:/>=FY] O"6*3'@Y9R>9'G21[2;8Z!G"R8JVQ[9PU^B4":Q(AN:G/NJ24
M@3B)L1;915G4)M*3S=S5Y257VDF(M=Y>S?XUD8AT1JY^\[!DG218"^XT2!,)
M<.?SZM)2&=%)EK7HKI8G;"*-Z=1?7<)R9)W46 OQ;/*PB104) 'KLE$.XR3&
M7JT7910;R5&%9&!MPJIC.MFS5ON5TXQ-9#.5.JP_A5L5=7'3L](!Z=QC$]V_
MFDJLW7#RY9U$6(D .R'91#KL[&)=0@H1G)1868"<+&43.;'2*A<@,0E>DIA)
M$)R<6 F O,Q,C-8D3G*S*OI-?C\,@ WMV_T@8$]Z$[H*Y7,./I'73 V_];G<
M>,W.&+!R#L5)H$0/O>LWIQ1:Z(*4,BC2!D7J_-K(.(KWR=WHUJ3F9U ['(H
MG*Q:28P82?VW 'NE9.G1[]T7D_*]^TK+AK*MM=M)OKB3#BM[9.=;&\A%.M^Y
M?M=5BN)DQDH>99.P"\!FCBMI9Z0F!VKXC3Y'P89R#'<A]\98P!TG'NC7=X@/
M?'G[$A/^7QR$6M#D1 VH&K,Q]:\)'I" Z/F?NA=.P'\1_7^MBL[8LO)?V=C*
MS'(6^NI?^BM4B<K(Z(PR2B=EM-[(*&XPHHQSHKO)S:2T1['ZC8_D]"PW<M7J
M0X&7!&%U=&?\Y+Q\LJAF=9(<<VX]@'AE.YQ,,)^SX5>*0[5. %^M/?6WO/ E
MH6H-07"02@R\B/FU:G)%P8&5Z\M&052I#H)%M7IUC4S%:%%S.OOQJP)I8E2X
MGP8N&^_Y6-T 0>BYF@',"1WU)WH9RH8)2.U(V4KMSNBQ$I15GUNFNY=8'40H
M2A1"D4;Z;H+8S*[&36O?]TUE+^MH7EB/,U"LM&G%0%']T:+>;(KU-1A*V_C&
M)A^;K-09)FN^+_4Z7=E8V$P8E^1/H_&G9_T$O?Z2>4/U.8/%2OE6[E,RT9+2
M ,4JO(;)VK35R4!NK$9GJ%@)R[7ZE9Q(:6:/DMY'M7YJK13%2:F5]%S=E]7P
MY%K:N\MFI*_*^.J+""N'=++GW%67;GCFGDSN-9/.@LUR5]13-JD@OU.]:&U"
MZX Z*:VS'V]1@_X,/GUE-.6<9<.Z"2<#X&KH>\+<UWOMOH$^'P#\_@PX'L%G
MO;?A0HU<BP3SI@)@$SHXX\7> 5@<+^G>(%+)#,A&*3.$)VJA6"]D%$-:LU0>
M^S704EY-78X<^0!2!N#KM) 8;RJ4JM7B"I9#*TU9$BS1+13=BF-$[],R]499
M)C%N:"A4V,&[2#17*3R8Q_O?ZL?+UE5Q!I6]O;+Z'N149KRZU&">;!=\#;^-
M</[W1UWE8+,RH%L.MM<(*Z+L'CQ&/1* 4(N7^ GV?,BX)6OR D2M;M@E]DRI
MY>=#]= V5$);BL$MZ>B,4BL!6R-*ESJ;15NBM=E%F0>3J(XD0XGR**,]BM5O
M9BRGWMRXXVQ&]-ECEXRG+JM?RE_*AZ%RX^TTWK]1/R)?7),SKG)>"4Z_4K*H
M53]8SM[3%Y95HV7=C0^*]3-O92!.*JU<:I;*AJ?=5E_UJ3\Z%  X>;$_W)7S
MLE #&;'?]:G-23&$DQ4KT9G[OM K+=JG1.#1B,,HWCH9;RK?!%OER$X2K=1F
M'HFF2*H:/0E*]L4WDN"5SU#5Y[$ P$F7_26QU<]9_=,)^=#)GL$7_<Z<TZ=/
MZ8O/'C5TZ1/"OIN)^17]].R!$+?#,Q($>@0QWXK& R$Y]N1I:X@#?;Z8/F10
MG_]0+$+UP]V!/EQ,<OU);W.PZXD:C@CS'\V18=$YFC*Y-8C.0#EM>>:MJQ82
MBCE)9*BU_LQ9.#UM126)A$D+1>>.15<FC"I.^?Q*W='@RP,*+3,?.6 5&G-S
MYH/)#"=[1I091.B94;0!31OW!>28^87VKX7E=HP?1M-<RS,^#+;GF"3/?ENT
ME2?G,;QYU_41GN59H" *_;0)Z#INJ^2@Y<G!)S*IIH*;]'I$F_B-R/%Y**2:
M_O+%>O<\Y/K@GJ\4U/P+_,7W[ O;SQI8N]JP2HU1ZX0@U"=FW\!34C"V2*<.
M1I3\"<7M;!/0+VAVV_7;-:;P$$ZGP?P+Z*=;:2]$JD9.L,MMKTF<^&R"":W2
MG3ZQ.TYF6$(P_P\$_EDH" 7]OFRY-6ZY';%.==LXN&=,#<:C&L:5B^V";7U]
M)&CZO:%RFPJ+[X(MB8?/V61 J*ELV?:O?+W?8$CP<C]SV4M8WQC_H4@[QU,B
M]4%Q!7W2-JM<OXO?Z@SA#'L_ C8JCY.50ML<MBN'QSWH-]P4(SB(/P^1$^P9
M=DLD=L*B_DB"-W:TV$R9G5#['B@\F>^CE*MNE]L)]=62GV.EKPH'M;ATA%!^
MX9VPHVBO_B,KZ_$<4CO::5W1>"$-UV0&?M_SPDEH]ORF%QTE+%83W]59N2&G
MB+FZSE@/;%==HV<TO0>@)/GL3'_$P91QSX3*Y7:CD??VN\?KF>>0VPGS]';@
M*ZK[5WV]K]9%Q--*W:L O#.J])^)*#*RJO0&3/7EB4\F^HAL9NS*QJM20<W\
M-F+OA7'=^A8G\CM!;YZ"/4?@EHGLA%&7C ,9T2BSX\VUFI<!8[S<+I?4+BS
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
MZ)3V.C$'PM4^M?W0R/!I2V_?/CPW57\U>*Y8?)<OLOVNW4C ,\QC.<:CB8C
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
M$B'0^E(*$PM'/Z(D-\XHYL%GQ95, 7@G5^G:8Y^F9O<47V^FZ^BN6:^S96(
ML@2!$5CPDLQXH2*+E7LZ*@-:: S8NF*L"ZZ3<)[;)&F:JZ&';6$-Y)X7Y1\X
M/#N?8W[Q":=PAG^;8;D<O1X6'/#$.9JBF"F1#"B;:AL;2 QR3+K0#N>:]^;>
M!^\3HM;!U+9QF^FQ>.'R@NRFSY/RMS%<9II>+6W_I5XV0+.%<1K"Z-5X<?E
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
M(\8[)U"+R,'EC"SCV6Q-T,5:9T.RO%A@*65/X(QB  )IWCJ%9"R!;-X-\#Y
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
M55KQK/%PB;,P+S5!WYFO-[>\N:;-5N:E/628=]@ILH]F4+["F""O7.C-?\R
M%)[3IZJ9(A;'EN">UL9W_M0S >DFV4G[B-+\?>BTXH(FY0&^:"N*0-P??G3Q
MOU6RGM#U_3BARYJ?"?AG))8X ;)F=%8?B269AC\Y^G A/_4<\>\UN;@$+P^*
MKKI)A=>1K,05=!<<ZGG=3$^%>E]:15SG:)E\EFT9_"YHGL17<LNQ9JD@V&!<
M076[+X%>KJ)&MT811G^=MAL>_)C4C$M'090!D8KR#A+>V#1QZZ#*U4J/'38
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
M$M%W=J@O%QZ8&PR*E)H+U@Y61@#/\80,"BJ97 5I"MQ_(SU@7?EAA6?2%O2
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
M7T0JVVMXDN+;L#1JD^0ZFO5MFV"3AT-,L/N/%"65'8P+U<7D@8_%!%*!63?
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
M<%0>"6(H'J_715DY(40IMOYDX^LU))?\='JBA%F^J:XY'A?R3+]-6^:=IOX
M2RNR&-F9<JGY 9UZSI1]L+*J90.Q?9BK9)T\%SB'-Q,ZL AOI=V>C.DG _5B
M.D4G\"8(@XX:C,T+R^H0A<4".4=9Y=H-8(@:BG!\)L7V5"6 ((*YO8C'!CPG
MN8;N:_AVT#$/LIRJJ$Z$GZK'<1L>\EG63S8DTAL<O_R.?@9PZK'8__2*K;9
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
MG!6IQ'U*_^VHLN/INK=&;=GN6K#/"X7IX]AUD^F4&PHY+U*_LN;8AN#^YYG
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
M@1O6ICP\2L))2,K37;'<'FWFL8\^UHQ^^<'Z8V!+&)T;W8KRG5>&$J48?*1
MKAWY:=.<K0#;UQ0TIA59K"43V 70L^G89NDQUBM.N+)\W%>1C\C=L<"X&2)Q
M#B-;+28C7G,'.-MRU*J6*0OM51K)5\.:M H]6 /EEZSV V16JTM^[?\=#BS\
M>_'!C42"JMT+R^OC,+CK?H'#>K2 BF&W@L@$=*;\N1+0HT>JBL;28U=4-6LV
M,9GB[BV6/V[##"$OP(>*<#XG'MDN^+%/Y>73>/A"*9+=ZZPZP>QSK8BCO<W
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
M;@QW:MXB:7>=5C)G41*--E89OEW;O&)@8TQZDW!K%J%4=+US7*^G,R4RSY/
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
M$OK'-^R[9%7+F&QGJ]5G]/0:VLSBS2^A[G)^YA3^- *_TA\FO0,LZO$/ X%
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
M2'XDO>T+2^NKR5\];<O1(60/C_$)8F^:E1LXR\QW"0ZO\$T\"\1#6WXU2#'
MU+A8!H@.Q!:9Q5IXWB)X H?SW!2.U@CZ-V$:SG/K5&Y])8 <8%.E_6-K[>)6
M@-_1_#AF(X7\OZ51WP:XR9U"U>B&R&>(>4+HT"O'(&[*$*E%=+:-KBI]+>S*
MZR=IZM)(Q<CC996:#'S%EO5ETA[!PD"N7+:\")KQ<#9@]L$A10^W4]LEG_IA
M:3XC;#P (--W9X4L:W'88%7<U]TFFXY^NJ5K?]K#Q:G4I/UQ\K?#C_Z]:A&=
M96M^&R4;863[)\F'R5U7)75FUO;!'5G%9QO1'0,(E][VY-32/7:=O(UN==M
M5*&R_;QN1LS2^A<6]@>%S.4O+/</4K%JD2.MG]U\T#"_0P=^'WR.&B#:/7S'
M@0@U+1D[U0D7%XEAY+BKYGT:-\+1GUI/7N6[8R4FNO99AO:$/[VHA@E7M$&K
MU%-O:?^4 3* T.U//Y&^?,<49WLS;7UQ/J@]5076!G<H(_(PWJT"_N!=N@9O
MF ;5>7L!6A4>F*]5A;R(E.C5>]LK)0*C*IA)5SL8STN2B)D#>..*,KM>FLK\
M4DYD<Q& <Z.$OP%VKB'8UI-?MXQD&GE04.( (5[-*7,T\7R;G.O]NPK[VH5-
M]6U:.Q-UV$EX$Z$ZJSO*G.\PU-_(]*5;F[^"6V<!0<5'X AQ(MR&N&T>]Z%
M.TZMU,275#JY?AZ_(VV)Y!6?D9=[Z@LVEC=!R97DN.7HL[8$.PPKU [8)"92
M^N4I"J!*XMPT6$'7]J5\,O+JZ1E<S#U4!503_QI4G>)$QJ4E)'OR];L%']?]
M2$"*05=;YXKLWNG!.VI)\M'N'*DEW.L/GY7[9 +#.F!6W@RQY)W0M2;+H5#0
M_OOAX6(ED^:2;JQ!<_F.253W<-%$;GR5AF0PQGADCQ3T\,5CP1M_+_?V+\DG
M.A?^.3 4'].=X^.:&FJ_M(%N>*LTM]3H^'Z+:ZU^-KS*)$W>R:% "2.C 1:7
M3=FIN\MOEB3#C9.O+H=[ DTRDXN,,_--[4;:Y-)SG^)319S_2N2]V!8+3?\U
M9+&TL^!$]Y=VR3IILJF*.85*;-8X=W&UUW[P7S_-V[\&X^\B?D+I_M8AMX^P
ME1W56*8G6O\L#RP='0X96I"N&8&;I1"@<]@7#Y\.II07Z7=04B!D$#,YLMX3
MBYV+CG?=0TP$(,RAX\YV()W3M,'+QHJ6Y[SHD!:;Y4-I=@--\E^OCB[1]*AZ
MS**J'[L((]N7KE<77=26X!E'G]Y@FE/?XD?Q.VY58'G084B:)"Y$T;!WCV$C
MY91%A$Q"$CT1L9[H#CEVH<6F?S@*CZ]5?T<2' EW"D+(Q"B$GT\?YE^TN6<
M^L)R1K:ONJ%R';.GN&I;:(OB&/&/F%SN$"C/JS=+;GXW[RS;,&37UMJ$K#],
M?IOH%!\2^OY>>)66U? R*?&)VP17B)#J+K2M^C^[\D4,%1F8/7Q*_QJ,H(!+
M*9)LNI4RF V#,$C;#R^KU"KG,6>5V6N/"T&LZ<JVHC8CF3TCCA?A)'<P(^W%
M8OE@S,K$BBIFP??D/W#5X$*"VF2PO[2-7'87/ZQ.0[C,J^2HXK) _ESX^F"9
MRX=6G'27 4$=^H5%@0)C-7?[YYKL6PJ4)6CG"XNY4,<'@X=A5K,W]FISF9;!
M)[;IKYD;QQT!I=YOH@3Z7W>?//F=5R#[X?:CAOW*V=SA\X)0TL9?'UMZ[#\+
M&15'[3-,/N$=VHO<-B&6?^=Z[N"MQ3WBW,;FY?KPRKMF?4M:D:XM:>0Y;3*T
M)68A]'A !K+M]54Z5Z.>E^S(T5J^K_G"0D<;^ASN'9-"RKTI439UU\8MZ],
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
MC9_\(EBB6N:5%,PP6D:K!.=:_D[>.9JL'\!/:\3-/9W^Y210JU'^X7!/WNK
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
MM"<%%./D]6$<D4Y?9 W*?,JZ(+-I<_=VP[Y/L7F[E$M;M=X//6;AKM.M&BT
M G6#YUOGH08<NKY $5U*GTFWPRJ]>Z@0X.A5Y9V!@I],*+LA$/>VNP-V,)W(
M9550BCR%RDM/^BO&QR(VV5]<K/7(';J0WI5>PC1HK:E>:2M<Q93\..E@6B#
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
MJ\^@XAP _0X5A56E^TU/[L>GFYK88;Z .MPH.U9\;D;DOLW$UIZ;?^,D6\N
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
M2G#L[=L7M!^?P]8W5[1< ON--FN_K ,KOG'=+^E)[@8H<T:[_;;B&M%<?LG
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
MK7 R1EZN<GC;9I P5TD:JM9Z4_\$EH4"7C-^!B_CJ_'MD04Y>P6)BQ?9"W=
MP&_Q,OI<TAI?&?0S3\78>6N#\V%^L;S*3P/$:;BLDE:@9+/.OGZ)G/YUD9@%
M['?2[8_*^Z[4D8%3K"ZJBF622%2H8&.@2XK,27O] NLPA^$:XR5#[)2%-V=%
M#4[*#X^[:@%[3+6D<X8YZO19=BQ_I+IN3@='%2ZG3MR??^T?'"".LU_M6W+D
M +8I[2HAE785^3*N_S>$WCW91 7KL0Z2\A:<P\M(5V-<84.PA5?'3\I0U"<Z
M"_]8A+5\0+<FF[T]2 <:.XPSU;B7[V^ZPS:.\"8J_E2&R0VC=L$V6_1&:6V
M"5N8O(+'\;4QH2JQ"3RFI<<%,S2GG&\],L$WP58_C:Q]STKSF0S><"NU)B84
M)G566A$EIG]%/N<1-$S4F-=!58QHF91OZ0;Q951:L3I%)Z^P"T6D8LRR2H2F
MK%@L2/"1>Z8Z/3KN.BZI@66?2D5?K_V]4L6B'4XIJ@R[3@=U2:/ D&[17M\M
M#;OEJ1HM9_?7?5YYN'[_4F'#F5]%I?(#YCN1RL)#+?V+-!B;<+7P!Y_<.[+
MKV0V=26R"8QA,^=<F@QSG_;N[[(@":$"Y>S\"@"1R^C,=!OX7.V&D7-O;S$V
M8"YLLTZO-\7,!FA!3[:;FI?EZ?9Z6S%<WE8+>DCM2+Q'#$A-ZHXE3/&7"S_U
M$0S@R:A.['G*2AR1ZG=&R6/#!% "++&=RT4KI17[W@(<LH^B<BM;E7;?*B5T
MMDG^+13JL[;[*D'K?9B]HSYDQ."Y#>_TL8HXSJ43VI? C(B7-O>V>5!$F1*[
M5D42YO^"<+'.ZH9 %P/YT9N5S+SRO;,YFVTRFT; SLVY 6SE(%Z@?%%V1I%-
M]VHM4I4MN#!'D7N\>(\"F'CQ1>32-Q^'^_*E<GJ6<5%<DD4EHB/ZV2WIX,S8
MF#8_7>JSY_&;9QAVVN!/*W"GB2WPD>A4NA%1*$^A4=W?-,]K@U=ZQ]\J)D\_
MU/M0N^R.D=RIM.'+(&N'!F;#^O34'?A8<XET7[]=>J(^3U+#GT3\GT5=I\BS
M*'BNX[G]5K21#D[D##Z_9(!;;TSLS0UO:1RRD/+['QA=,GRGMOQ?U^)>7RCC
MTE6'FCFVR-=B3/:/LQB--/VEJMS3+6Z#-1VZ!!E?GXH)7M/"@02EB4+!%&.*
M,5!GSECO^S-\*IX_/9<=\CWZY\FZ0;'=VL0/=S2N<B*<>( P^OFUF%92]>U=
M=DNKC#!+:\,A,K6[0$#L3CK=D$"=T74^TI;,<P0;4$0<ZZG=QCWTUTV%-&",
M<!@A,4O5L#%AOM*]$$62HRC7N"579]S]F,?(U7G@[T&WX[:[6^0\;-@=8*J_
MV?.@9+@"]PPQG@NJL'"",PY'&=%DBX=K@#7 +EGU2X9)?!_O\%=Q85-KU>&=
MUCFD+:D0XM@6UR7#;R/STXIBXR3,,LLE0[Z2W37=W_^@[G^-_.YS:TR/[+*
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
M?7 &*9+WW Q,KP_T<GKN@[F76CS(R#<?58\N]UX?#?2:D)-9I\J2%XZWZAL
M@27Z-*,2*[R%MV@3Q3,JA9U^RG4PQK-JE M\IA.1P(D@Y[,,M?;;EYZ@#.N2
M81AT=-(<8#IU,3637R#*C@^=T >1.J.R]1"M. [6VP0:F;N9.?CEYDV>[.2F
M^.]G6 8W'R8W^A62+,</L;(M&X(2"#EN/X1MU.*]_*YZ8E6Q"?*]*M,2#W>E
M:U#D'=U'-$&M%2)4/I;UIV+>U(FP<=@\/FT6KTCI! !:7H-4""G#[E*.+BYI
M8T E3RJG5'^PO)V=[X0]+..'O['5S9<,*L%6PJA)^2P"("-G=A.EJYE-HN&C
M^2H<+<A#,CF=X[+V.61"=)Q*OW3T[1-#=+XX$ 14EWU2,:DKL'W#3M(4S%EA
M<74EP3D;RH6+)$Q731U2@U_E]8$FYU)[%M3<6[FW I"A*L=??.[U^+N_SN _
MYR&Q[<B<G-1;?A#28IFS-&^OX.UQ?% )T5XCE)(K;#V([MJ6_+":FH(2G750
MG@(I":M]^@S[BF6-\:1U,/@;>5<3\GU6?P46^EILHC+,.Z!3&U-,UP_KLAPD
M];>98]!<6E@7#1-BP\EM6U[[OY2W^W?)[/V<>7I 7#Q$*_-%ZQ$YRO+E!5O[
M*+IV&1AQR1#)O591.LHT[2_\'JYMN]V1J=O&*X,W04E*+"BG"&KE9/''F=9H
M4#U/R-HENV.139A/*;9M?O."2<J-X\7#'N_7DK'S+D^E/4:,0PHR><ND'RL\
M#)O]WZ[7J>@(VT' BVMDO L!/C@B(]HV@7QQ&E_P)OO*^V?A,@^3C</!7=$\
M>41R0;GAW703=+Y3,%!7FB)ERB358PM08F9N^0](8,$G2*!<P5U+OY"]9%;
M44JA3SY7Y+%NP&O^]I+?GVBQ(T9*D:$!O6D:.FHA>P"!*5Z30!G"6GX#F&4#
M)(0FPD?>UY0'@0XT7-\:F4CI[ Z8C ?(/>U<B32+O688:Z%-SAK;01N%(CLM
M70BUBN!TVVI(UA_!FO]'G4:&SV]S!P9;EB]<]-N(>+&$ND")G2%(Q<\'X*@H
M"_KP:#5PS?UA1;-4SN\+'#=T:T4Q. ( @7O9[^$4S/PEM:JVE7Y6/&5>T[AL
MCGV3-D>:]%G/?8[)%$"P:''.P&=.4([;.OFJN^+ .34W \O#G 9N6$EL:@MO
M@Z;8)UR!<EA#_SX7,-,N@]=Z9F5^K($IJ-(^M>U'%_?87O*TJ#L3_\/DT\(*
MC&L]%ZE\WJ2;)JA;A>;1T@WT8 N0)[ LE=UI-1$NL"O$7(F\9"!1AEM/QRR&
MED6 4M,YA:FI\ZEF TN]?3&RF$G?DLU3T_IA>+0M/= 9^7,\-R@E$M)3 B+I
MR-RW2"!$+8F0S8=3DK#065'D\/QB:[S:2.S\NVTGA5!ST"Y!W#0443R,S3[
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
M*IFW$E89KT>E*G"0XO9? ZH[,W\RN8X%BRW;AH!! PWBH#\2/"T;,NH4?&Z
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
MMLX5&IZ=1;J$IHE1_>,SQ=(_&ZK^Y/@I?2 =R]EOMOW';O<4);U)!]HS'<Q
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
M&/25^)%<"E;1I,1%F@$;[[5>7@/>#&JCO9TB?#_(2*>U-[ZEM[M$'VWO8^^
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
M2(?O99?=EGA.Y:K)"8U7%&JS?O-K.LL6KL5>9GG45[G/QF_45/_.!L@#A,3
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
M.%#.&;%7I^1ZO8\V6P.#Q?04EF16PB9)&"Z,;YYS;UNI;'OMA9")T*]F_?N
M ,SGEOR&##Q&865IC>!^S((:9V;UHJG:#TU6S$M6P>$N3U_6"#UXTW=11T1'
MX@$-#'X(L'SMBS=" D5);OXKM$P_NZ#U5J-C%M4.)5MYIRS9=@^Z_B5E&GPR
MQ9L'6ZF&MJ]>ZZ ?LYS9,A?RN4M"JV\:0;ZS2!-^)J@P=47WW]9U$P_LYR6^
MI6?6P*3Q6L!AZ+,G()_KSJYW0K O,PP="T\]@8B8S# DWR:1=GOYR]O+23V8
M^U/7M46Q7* Q!X&@]$[#"N)XWC-;M\PC6Y\IM#XO8-,,5(IN,',>O392!+D(
M"NX_28*7C[TR-UXR5[256J@D'1KG0G/X5L,Z4TG/<MRF(SM::S'/0E/8#4)0
M'S09;%[]R#2)LC),O4WF]Z<8MKC^-/ZYU.%B:0D;XICE6XL8N(KC#GM7*:Z
MO\K#79K+V4-1N8/!J_:]ZIABR6IVFITE7'-JW;X25F8>_>('BD4!I$VYA7.)
MDKI^!ER\Y%2N[@5J>^I>I@L/?YFKX<OQ,%HQY&O)KR'Y#D(L:X8--=)@_,49
M9X_Z$H$T7108GB>-&FDTISJ%U]K"SH5/I^"^[U#-_(,E/Y$G$F;YI5:K'<O#
MXP83>T)UG:YK/B:53IRECRHLK+01J6J 3\6IE%-#Y\36XB4?I$9RX,%-Z0]$
MP$:W@&EM3PK V(X!7=JUCQU&(<&;T@ULI3ZX/6>2@X+?_3VH*-6/=#87D'DD
MD.3PQ#V'.<.8_BX$T3"('@?"[89HWT4T4H=ET@5+O/I-"R+X8V33IZ!QN6C!
M*3%\SO5+UW*B*:\>0ZHE\L5 .I5*!\' GE;'*C&SH'-4)3$"83^V:Z4B'_+C
MB).""\;)='ZDIHYSUS&/N+_9L>+7(J:%J=>\$<GQ'*81U>;.U,0,<]DJ77PE
M45QWL32AM%="-O5K7M )4^J'Z%E[!R[&_9=3_ )GAZX<-?V5I^5OQ]#_6M>=
M=6\/M<>U*JG;W+1=>$=@W!/WFQ=HY-70=.-.#6*Y7.5GIL3@BO00].T(RM\+
M7[55+@T9<RHMXJ]@Y"<,?%]IOA;?RU] RNBNR9QH>AXAC(,Q0$$%SC,I=>=6
MY8)1FWY1O:E]BB8H97DWB(6'^H%I9C^N3T^^OD_F**V?^X(U;+]0WP9M<>%4
M(W\N,.]641,!E /6=OR\L($S[R7MA"_IAXLZEUDEBPS37<HI_93;Z;,>P,QV
M<&HG!-RVI3>$^^2NKG5-DXWW<;!(0ML39Z.D5@-=3I&)L+4NWO;U]A6<+ B
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
MHWX'=F,B$6D1]L&?/4HI3;6;IM=',X'].GX'FI-_%_U22G;&,]:NI2!&^?F
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
MGM_6OZC^@^B:M)QMNF &CQ9@$%63X&__SQ_#_\:_\:_'#=G8?P%02P,$%
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
M;"PH(G[B,VE?49A"E*41Q-1',(A"P4(:R%\9'5 NYFAJ'XK70%K2>MDZ#H4
MY:YO9*6X FOYTBKP0[X"5</UCX:UNQ>_$[UST*Q(FUGLAB9H>=MOEW_5IC7L
M]_!L/][P>-7TU%!QH1V?#BM[74'FJL;W8G[FK?9U!=]1W:^SA6VS,B2)-:T;
MVDV;S=90'P_VX3@,L$@"R!,:J@@Z@B2-,TC3E(J4IUX4&I4.:%.>/)>BQT?7
M3K=SL(QF]%P(KY[EFP0T,POG"B^++ 5#V9TE(.C2G3FWP!".X[0!TP4LJY\?
MGAY5S/F#05;QR>>F^TXWY#:9-WMEO1]<IQ /2F9?UGNTXKP5O><$.BKF/?M!
M\^_6I_H++U6N2S<3Q2#]]\2C$^\R#<6]Y*^.])5QIN\IN<<UZD*1#:]"K:4U
MTJ4!F:PTZ=1ZL^G1@#!]+1KZF)T+^'YW5+_=1MVNFZ!;_[RN$LA6%?\OCLL'
MB2Y?8$^Z?WZ@QE$'TB',LA@J-Q"*).$B]3*2^IY9D9<E)R;?8ZL*,/DE2<W\
M/EM,];S &7 RT_>6(=C&*'<L@8:G7F[K?M!7,08:SMPYB1="X\AEM.5B5@?R
M0J@.W<E+E[ML".7.N20D1)Z@'+)0>!#Y,8(I(DB^I!2%$:$D0D:% 4<4)O84
M-O3T?$]-4/3LRD6BFED,,RFM)TKJ>-B7C)&<V=\>%>_<P,A+_>WMI);BZ4GE
MBQ?T'VV(ZM.ZKJ2RJR[3"\IQC$080^FGQ!!%7@"S) V@8 $5'F;(9\1$\X:(
M3:R$+>DV*G[5!<-!L2-O'R,?1!!C3GW?XQ)!:< 01A'$R \@"\(P\-. 4,]?
M/+<10I6S/R^.AX2UT7S#'_-54_U"\+(Y#DP#7TB("#B5'BE7K5AYPF 6)1GD
M219E#&=^FB4=?#<K]AK@;<AJ0W?3?MVFQ4UO=W"%A-E&T6GBYU83-U<H/=(.
MIY1I".AJIM@0J7DG@&D(?32O2^<9V_(A::UYU;4Q[YS%C[Q>L##VLY@1F)%
MU7O2&)(P2V":>@F+(Y]YB5W)T&EZ6E_HB\N$-M35>$9)_@JLN&8@:!2O**9$
MJ/I8'DJ#B+#OP11CN2U31$GJ^2F)M.8X.P'*?B.>$"$]J^=";C.+MQ6YFZ_P
M0T?T1VGVY"XB3U$NC=Z8?,XJH,Z0F;GJ:5C8XTJGD<];5C=M7N,'53[U(<<D
M7^;URT<I1-=1C$@OD&4I@LQ+59\VQ&&&4P9%DF5>@F*/A4:N]"C%J7-/BA7L
M*(%BPPM8-J5_RXZ;7+<EI3Z,>BKN%!S#0/D6BX;V%=A2OP([^@ZK?W1%=57.
M,TIOWOH<7?&/"FZT'[RH.<9[R?';8M7<NOXMK[^\7<L3Z%-OW+I/<<+26)YP
M I43C#)Y0&1^(H\Y'L6"TTSX6GVE#>E.GH+1< '4"P,;/L WR0C8<')!!H8>
MLGJF8@*\S R&(ZAL6T3H"NZV]\,HU==HZJ +Q9EN#=J/VP;JCI?>FJU-WU+?
MPZG F0\Q5N$F$OB08,^#-/0834+F8Y^9!>S&B4YL2MYT_13VNRPTC1=, R8:
M .H&3MS"8AI .64D]CP-YRU>321V%E'1(#ES9$4?A.,(B\&S=A;B3GY+/N(G
M_JY0;6,6J6 >]5,"/<)2%27@$'M)!.,X]%$<<XJ)T8EC?_F)M5X1 XH:^*VE
M9^@D'&"AI];V$IHIL(%PQHIZ6@9'*GFP^*S*=UJP0S4[\RG+4[W*S&DOO'M'
MT"0.A(A1"F,2)])C9PBFGA_"4&"YP881R3 RRY(Y26?R')@VI<ND%F\8%\VC
M^:6R&A['&R%;>A,=P(<$<G7H/DECWH/VD)A'A^O!#YLIHQHV?K.JY2[Y@+_?
M,KE0+G+:9)Y\7#<-MU/$**$D46W)*93_B.41.LU@(K ?LTR$/(MU-KI12A/O
M>2UM((F#?>J@):^GI.-X#2NJ4Q3,E-4: &VEU19N(-M4KM'JK/S+3E7'5YY%
M7;4%W*BL_@,6=?$?^;?F.O&>/\M7_@57_*XL'DO\U+7*QS3("(KD<95G3+JH
M3$#IE*8PB;PXHIX?(9IH%\2/$)LZ'LZ_M7?98$<?= P8U'*/(3:LNZYQ,%/?
M(0ALYC*-86%0T.X0$[M*=JNOAUGMNJ:,@T7K8VO,5ZVN*<U>F;KN,\ZSZO]:
M%E6U"&,:T32B,,L"))V1,( 99PF,(X&81Y+48\)9^GQ#<O(S0D,%O,5E^:*N
MM-I2CROPWD%C#VU8]<X5+J$R,WN#J?+RT-&0GR4??D_0Z1/?6W)_E SW/>$-
M4MGWG[MTTOP H78J:I:%:48H@M(8J"9Z+(4IBQ$,>>JC.$LXHT81>GW2$SM
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
MH5 Y(P8CU/O/3'V)S/Z^KFIU]0/JHLDXXJNJFR%L.CQ]3]3Q$X:ME&9*>%Y
MI^/23PEC=V?<7VB^B^(3[._=#I_ZO;DR] ZX]YP67WGY8J@:YU>86%%,OCDF
M<H_KB1N1S;2F1Q-LB$ZG/.,26JG2P+*S*=:X:'TUT_BTQ0[T^%B__2(/ZJMJ
M]2M>WJX^KY^>VH6K>O5 EN^+\OIY29;_578%;;K;E.G"4^]ECX]E,RX2O/VB
M$AK4G)([^7EE^R5_Z^:P=TWI^FF]5$,EP1N^XB*O@2A*<+U<@COY[5;?;96U
M7:GVH$59-_4O0$F&#U6@N<@WV!Z-WX/&'CKE*S#<:%\#?8>UC!?!:;?5&U.;
MSQ^P!6+/:;!>Q/:&Z_,37BXWWOS"8YF?(2^$6<9\B")"(,$I@B1.<9(B%(I4
M*R'MS/KSW&$U)+<A*M,;JWU =*^HK,6TNI/2E-#B!NJD'!=<.>VO-_,=TTEA
MCB^53G_,W&MX6WSF2TZE!?ZYJ5WF!D[ZJ6=G<,_Q2GZ9.L*@HVSLJI^4>WPC
MOE1D,\VQE=9H,QP2R6J_.[G@;%O:D#C]76OP<Y<V)=Y+%VM2Q1I?2"6.5;LD
M_(@PA+'OPP2KSL1<8)ARD4+"F-RW1)($(C%K7V[(@<DWUZJ;^<:C^R3 S7?I
M W:EQLK%DWP R5=;1 -NY1<]+RW:=YEBKA=-GA!',PNPGPRJKL4[!CH$V[QM
M,$E_0$L0G/<OUJ/^2DV,C: YW\G8;!F+(@U,Y'&L_)!7=?.-,:Y].KO Q!M^
M1Q<HPE>F1_'S4H_O]$X$-E/VOJR3:+:67'85&F=7G:],8TRPO5J-T0];N@ J
MP>L-KI3J[H(8O<J;-R^[C]SA%_6CIB3KPS9G*R4B2M2()L)2 I$?>C +8PX)
MRG@01T%&L-:()G<L3:SB#75Y9*^:7:T?>][QJ,J5^I_K^ 1MT:!6?MA4[TO3
MHYCU+9C9G1;8-YHOX(WM"S!W0)QAYLHGN9RA>=T49P >>2[N5KYD-M3RU.B'
M[DZ?^8LH]I(("PJY"%2'XS16U3(>Q%F6!IXTJBS42G8W(3JQL=P;!'4\Z&7#
MALU$J!$P]>R<:XC,+-G(&)Q1="QG0^F)ZW0^U C)5Y@1I0?"Z3E1FL_:=E22
M?MUN0AU[UQRR[GB9%ZRYL5KP)$U\CR,8\$B-B"(>) &.8>RE.$2"\P2'BU5S
MZ\4>3)HKC1#64H2L580C\B911%4,4BEN0+EC!ZQ7*OG^\.<J\UA_AJ8^R)I^
MDA/,[-R@!H@>;= 2!RWUJ_9ZTV5S)DU1G35H&J,W<Y,F3?&/&S7I/F@>)[GY
MO7ZY_E:RREWZA,&2LR5._%7Z:35XI_[Z'N?E[N*^:TG6>O7M+8/[# D3D,<#
M-1/A:V8[IH76<?J#!6)602$3.K.%B2R$[P>.;!ZWF.-]SU7MU:K.\;)3A(P*
MPK(H@-(E\2&*?55(X%$81EG$TB##01AI3^X^6GYBR].C9S".^AB$86MPN6C&
MES,;4C;3MH_%,YBO?9&8=A.U=5ZBV0#MLT(,CLP^?FJ^(=EG.=X;BWW^4Y:#
M*"DMUYQ]R#')ETVGYDUK1![%<9)%$4Q\$4*$> RS"'F08YSXD4 >28UFS)VE
M-+5KTM+=-I,T'#)Y%A^]0X<3J0T=AD[@'LT)&DF."N9JBN19.O..CQP3]VAN
MY.@#+B?'WGRGRS7C3%4I*K=AW1K@3^(&ERMYA*GD&::)FK;>X2)AJ1]''*N>
ML!E4US\PBT,"69)AS@.?B2B[?+RL(5=3&X+^N-5JRZ0T#"V7;64O[U@#SRJ
MH9@#%"^IRCA63O,/TIMN?CK0$&?"]Z9I=.9^&X8&ZO3<6W"S]R)Z+#9GG,U[
MD5RVUT6CY66.!N1:XC;I%%U3GOX HW8M8=2;QVN[N&5SB?;6J9+'LKWLFD42
M"R%MIP\)\@*(?"^&:>!'$/-0NE(4)UZ8;J*]>H;U'"F+^*YA:+<9F-=1-^P)
M<0X>/>MUD<AVO1TZBDTAR1Y-AXT;1J1RU9SA')EY&S","'O49&'L\W9Z^K;D
M+*_?8ZH\L)>NZ#].!98.3@AIA.6YAA,!"6=241E7I1XAQF9]#D\1F=B3:4F"
M#4W+_@@GT=%3T4ME-E-/8W&-E7-('D>*>9+$K$HY).2A0@Y^UE(9Y8:B_E/!
MZJ]XJ=2]T?5<)<JK7[1]3WL_Z'UR$09,$)_(K31) C73(H8DRC",.$O2)""(
M9G3QW%S4?*YQ66OJ[B4\F7SA#SDSVX95<G8SP);OJ -< \(?\Y5R;Y2#_")/
M+H8&X*(WPB(1Q&GD0XR$!Q&*!,29QZ#G10QE7NA'..G>R,U*T]N9^7UL^'+S
M-K@:4B) N_2<;T+39L^%K:%QEX2NVFY9/7I78,<*:#_25BCL_;#_A,/-P 50
MKG:-BWB9=WMQ =O1/N1D4<M(6W\TS'8N)Q,122D.(%']MQ#GH31[40:9QQ-/
M<$X"O9+@02I3^X][0Y3^8AC(.@F+9F#J4F$- TW[4Y0FF38Z*)*K&-!)&O/&
M=(;$/(K1#'[83AO_6A3L6[Y<+H3GIQPC#*6R815CB6#J,09]$O+(2_V("Z,F
MG9N%)]:Y#1DS9=M*[6$:)1FF$/M1 E$:9# 5?@1]@3B-(L$(\LS]7QO9K5W9
M-UC^DW+E*KWCM+F\!*%_!=37W1(5Y.,T1=(8IVF62F,<$8AI(&#BI0'V0R1M
M,3;U0>TQ,78G>XC\+!7BRP:.R!(./2-L(Z"9W1W]KAM;V4.>'1G6[;*SVM)#
M80[-Y]'OS2QF5=:+M\6J*I8Y:Z+@35%$,Y^&A*&TD@F&01I+YX6)&&99%D,:
M^-@CC,?<T[*=YTE,[;GTB;9504:#? :P&58>-Q(;'HW,A=56K'%YAE1,/MU3
M+_FOG6H-+#R+DHT+ME$WC4]:'AR6R^*;,NSOB_)=L2:U6"^O*6W2,N_ESB?/
M)VJ86RBW<L(P@5'F>TH9(T@BYL'0CV,>9GZ:,F&^I>L1GV?#WX:GR&:CJU2$
MY/_!J[7*1K7:[#3!)81$'A()C)$?0Q0'&&)5=R&2@*8,413XD:EG,!6TQG[#
M3=M6<1_52SP(35 U#WG.83(\]76TP([8%=@RU=SQ=3<*:B:.PY.@D=RNCH9Z
M1.<]*QH!<71X-'O:SD3?KA@737W8AU/U83_COQ?EVR6NJH_X:=,M/!9QA,.$
MP800>?",U>6^)T+H!R%-DPSA$ <F!T\+'B;VKG8<G:L"O0(-6Z#A"RC&+"\?
M;5Z GOF9&%8S6]1#]$SEJ VBQJ;I DP<V2D;#F8U6A= =&C!+EG*SIPUH\Q5
MWE/)OZ@>J%_Y;NA;,YWB 7]OJ]CDSTN.*_Z.M__?!G"3-,.AGPA(O1!!%$K7
MB= (0^$+U4LL9IY90?OE+$UL[!H&P1Z'^P,/MZ-<)*<ZH>.IWHR>V9L7;S,K
MZ!QJ8P/H#AU']M !0[.:1W< 'EI+ARN;Q\D."G[OVOKTZW7]I2CS?W+6IHOZ
MBY!2FLJ#(Q0LD=8Q$3'$W,N@A],T#!*>\<33#9QITIS8_#79L+V2=-#Q(8]*
M6T[,!GB8X#D>;)L )3.CY00@HWB<H<@7!.AT*<T6L3,4O1_",WW4]L#XE:_D
MJWMYEU=T6:BNKKN6?PD37LI3"G$6!_)DF"*8)CR!(D$Q11E*4V;45VV(V-1'
MP(^_WGQ\^'1_>_-9;LHW#Z:GN@&4=(]O;F0W/:=U5,&.+/AMDMZG.@(Z.W0-
MD)KY=#4N]/$Q2N,9I[T4MSD^4ILC+'P8QGX*$>.INF".H(BQ%[,HEEH>.^B3
M.,\YYV1OPUTW-:GE\A4VR71M@:SU46<$5#WU=P>5Q6Y_V(#P0I1<=26<Y@0R
M0NR/T$UPY.2@^92=B7@HF][M+XU[T<W9;NH^%RSRX]!C4J<\E$&$@@P2(@(8
M(B_,O# DTDB86(>SE"8V#!NZ;9NNJZZLU;["]3QB?DBR""4<9K'/(<))#%.1
M2MB0"+(D3$,?9>8WG4YP<WBY.0%P)/!82)D',QP1B&B6P2R4P&%,"$^Q']/
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
M.Y+>S$(,"2Z]%I?^BJ:,5K'FH75G"S5K"->/-.M\W#(SO]7RS:Q-1%*62F\
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
MF<^M"J>^3Y-$C?=*8RE[5*2()LQ%7L")3S'SO(CI'^$#D*8^R1O0FZYM*KL
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
M'072V4?PPB&5LWD%6R0/%VV+:^TI,XO<LZ3L;& TJS*TR,)#96ES:[CCV)3
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
M6FR68$2BV$,Q)2*)_=1+!-=1#7V;3W[A+,$Y-3RG :@GZ;U\&);H<ZF#22Z
M,&T!':)@X'R5RQH9E'_9B5[O9K.(V! 9&U$:?,;LE#UHG]<WH)QR'&1NINJP
MF*OJ/WPI4J&'W-"C*8W]F M06=8XR*ECJU]NWO]^>>?\;?'ER^+SW?45<,"[
M!L_TCE&[G(!&*0\Z:DX^NEV?6DOGIP; 64]/?08<GIV E6<YI9_7U9^B>B^D
M4#W*,YG#KUHU]GIK!U8BYDC,G!UJ1L[L:5Z!7%PK;++L^!YS:(*)'! >G.LG
MGP;P%M[S*+DG?.KQ=8;=G3:=8]J>,>5]Q.(LXF&,W!C'J!Y?G 8X0SS)_# 2
M)*0$U*+P",+$.F +S]D !#9K.N*(WH%^%ITP(0:0"._ =(H,6TV7CO:?M\_2
M*?*.6BN=?-!,T-Z+3!2%&G#1MBCL9&=_%M4]9:F0DN6C+/94ZK2;(BEJ+LI\
M7XW)<3,1![!9.",0(9^GT=";#7RG:9SF5.0'5!;'F*8GF189 9/3+0<Z?4([
ML.M^*/8D5Y-,2W(\!FU6J=8D_5#&=9<97)%/5]]QMWXG+M>Y%,E*<#5:@T51
MS!!.A%0;+,$H\5P?Q4R$F4N](/+U*RYF0GIB ^!N[5#AL TTE413*JS+NBKP
M.5]6NA6!L[[)85WVL[X?F$*<K^9/?@3OA+,EZ2=\WX!$A9_PO9ME.OQ\[Q^6
M.S'SBQA,OI@+E_FR-V;F[E[ZQ]RP35NR2ER_B"<I7M\4(DWF9Y.>4J-7WL=)
MF/%$9(@*[JE;<8Q2^1,44!J*E*<NI["ATJ,@)S[.Y?MXE!JB5'@XQ0X1>9)+
MQAW]W'DJU@\%>:P/^^;<A];_CS-9S^^PRSK@25NSI0-\DR7<@&^+XJW.Q-(E
MUEI7UE& ,[=DU67 <3]6[94FI=LD%U^?GYY6KVV6/4VC*"/,0YFKNJ[Z*M+
MXA"%V,LR'B9ND **M ]VG_IV7()S&GB0@N)#%FC8VN<0!A/5#DU&U=*'Q$'J
MHL\@TK "6N,% LN<3] P7-!\N&C&TN43^.X7*9]ZR'@DT=X<O.N\ME*V,<ZF
MU>M]DB0L3#P?22,A05@:"RBE+$(D"C(:8XR%[QO,<M"#KO7M69KIP)Z+0OD4
MI(9<9Y"MZU\T/P#/+M)AKI[-8)%7IA.-CD9J2D.J8=ONWF$QS">3\48 LNU-
M.M(!.O?0(P C>N8?059;4R:;_2_)T[(BJVU?@U0PWXT3@>(HD<X(CP5*A' 1
M<1-*6!K1, :UC]4'/;53\DWYA:42C=U8E(XVZ38DRT4](D%DF6#RU^J=.V17
M+U_^Y]GJYA3[C56.!:;:43M;WK:83#5;#<B Z130*<!OK81&&**AB,9V,!K)
M>[>66P%+:@Z639UP>'7CU.#.JZ0YI'58M,\D$R:[9A1"I_KVT6(ZVW=OKSDG
M_/81<3#GM_>1\YH07?U85BKIOO3N,2.,9:&//)^HFIF8R0.9!(BY.'59$D8B
MTDJ,/PUB8G%2@)P%JY8ORTHS!## #KT#\CPB8<*T[:U4$UI#L]\?Z9@0RSV0
M.@#>I,_1,8&G>AGU/ D3MK*HFLN#70#OMHE OU\_DF5^+]PH]'U,4<24R-$,
M(QJ[4@+#("0I%BE+$AV1&P,TL>#5H#L!9:<%[OS5@-<,68VR:U@D;3(!&% W
MIE];3'6)&Q)6N4='4.6_=D(ZNOTLHJI+Y$9@M9\W&53P4 GV;3.4@/J>&[D)
M$@&C"&/B(LI"%Z4XDX=E*$+YA_Y0@L[.$PMF PK27+]+M48DW)06F'PU4(R&
M!73I@0P&,*3++/ ]\IJ [?Y[4!]N[=]=,&,;_QX\]UOV]SU@FF!+*^/I\?V+
MI_O:ZY8?$X^,'Z;)6AIH+Y"9LS^'"#U.^AQ\VNSC:Y(4ZHO<5A&%E&89QQDB
M+.$(>YPAXB<">6X2)JD?\S34FB5_$L(\:1<U0)B?=<P+-<LS$:Z+",^D"9QA
M'Z4D#%'D81J&-$M]%L-RV\_BAE$V^R8-93AM0I,A>DKI+")A^JC[MBWVCANE
MQ)(6.MY_5@5TDKQ#W7/Z07CT\Y,@M0)33:\T(Y^=)1-KCQ:2YM7&(3GCP4U#
M2F!"T0(9:U4&BF3V(&X4Q>SN,UL$LP?Y;O2R[]=FQ^GGM:K(>!*5V(YP*EO5
MZ<5I0(4;(QRK["41)BCQ>8ABSH.,$)$D,2B">1K4Q"(B :,6LD.VH&$GRP"?
M](X8.]3#Q&H'<S<&K9S@T!FGS=+I,P!HUF-HG.##\TACQ=GM09M6)3>9^JEJ
M49L3">0^B'C"O"Q%2>"G""<!1FDL,,JXQVC$8S^-M-*4=0%.+<PU3'7-SY5G
MQS9@C?M;]G--(UICF1<&;FVWDV7+EYO,J7]U.1%?C)M^GLT?2QT_P7PZI^?G
M(-& AI_]^[Q5M\]!J@9:?0ZO,XDJJ]R>NJJTDN]\25>B2;NJ;W;OW420!.,(
MA8GO(QSX@4JOE YQ2(GPY/^P7M?"<5 3J[SFRI^T&#C++0IM'M2%\UNQ5D-B
M2%&\UCF#@)0'#4;J1*YML0<8RM[P9 >W39B\:!(EK/$ $NVVQ0O#\/<83_[#
M5FA<A\[A6/G@#C,&SW4HV8^F:ZTP;1;7%LO7T8NF+&7Q7'U;%\M_"7[OLS3
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
MT_BKCGN^:1-*XL@+&$8^I3'"&<8HY:F/*"$L=/T(NX!Z\ % 4POL.M_V6>G
M!MSO#C%I6&!MD@X3V!-4FPP0&"(?<(MMB0UFE]7&[(!=26O0.'CS/+1^O@MF
M#2KV[I%UGC?U"Y23L2Y>OY#OGX@4_B59E74Q41LO*.^9ZMX?1=*5][-0FA5N
MC BFTLJ@U,6,B-!GY/Y%%'2M[Q^, 85\KUW0^J$K\MUY;$%#_811CNEZ"S:Y
M /496M@7CN+$%ORV@G&#@DW709=<:P[$*,"9W0A=!AP[$]HK3>/X%5GF@F\,
MH$YJRGN1+=FRNH^(*YC/?.3%JG<-3HAR+F*49FX:)UZ$B0MJ:3X.<O)H?H/
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
M2US*?9H(E 29=&&EVXI(R%-Y='I^%/MAQ!BHWE,+ZL2':#TY1XEC/6I([-
MBJ86 S7EU39;@$*\X4C]EPX&%ZK5X 8)6RF.1D3;$G4MF//*/X0-1TH!M-BD
ML9$ZW+Z()_GE?".EN"W6#P5Y?/]<-,&,D!$<\\Q'OI>E"&/?1RE)N#0%B!?2
ME":,Z8>XAF%-'1U7P)T==*<%?^%L$("TOQGFFD8$S!XO8*I@3C9 .OQ88X=A
M]QYSM@!;\F@1.MQN9WB+&5OI:-&RWR9';PD\EG;Y+7^XSC^H3/*;[$;:Y[R^
M!_@]?RDKOIWF^%N15_PZORV*/PO@%%-C !/KM3\%*9#*:$3J;\[E-S6 5WDE
MG;(-E9NZ-RRT3KYO1C#>%LMUX:BUI7/W39H#2A!N.@Z.LALDE:*L!DQ^B^]C
M/!8XRZN J=59WX+E^:YGL],H4&D.=;9PYMF,Z08]S]_,S _\L,R7E?BX?#GJ
M2%9^W&;9,X\Q$>$4>2QET@W$0IIYI$F/\ /, DQ ;J .T(GU8H,"JG$XZL-7
MZN7?FS-4SRVTS2:8SK+!(;!3""'9DD^H!7)6EQ#"A$./$+1VZE'5V\HQ%GH4
M!WZ$PH2JD=6!B]+8RU"4!AZ.B9\D+JA^'H["'$&E#ZOU]])1[Q,V@]D6E_6T
MRK2\@^D8@TG6D]3VF?-D]N'6;U,/:,X@\V'7%FH(_RRN<MX:58=&U.5+P?\L
M#DTMF-=GNO\<3I^0+H&F>W&I7!/YU]HYJ>QY><;L'W?RYN"\@8\W&=,M.W7G
MLL_(IS,&.IM+=RY;NA[=V7N9CE85S2"BSJUQS!GV!"4H<:GTW]1X8QIR%R6)
MSUCH\X10#W9CWP-E\DO[+4R]>_N]:_M\+9V5SKT\<%9Y#T_UC*TS^0330#L&
M37L?/T"4M8&SQQ!FGB][DL3C<;*G'S43X>N<%8*4XKUH_GN=+QA3Y:SE+7FM
MRR<B/_332!62Q9@C[*OA?J%TKR+.LBCF-&.1#_&G1B%.;+!LH$EAKL'!Q'.<
M7WK":I4+,-'=@'9^V0#_5=D(6[[<CO %+,/:M%J2Z'%XL\JW-OF'TJZ_T."V
M_7*=UQ[/WY;5M\MG><H]BF+;94Q"7CVKL^NS^+YY<-MZE*T?<G7NW6,6TLB+
M7"02%LBCGGN(N"%&+ M#'+, QYY6J-82/A/KC4T)=K$%V%C2WTFIQ(>U:#FK
M%FD5/Y"_KKX)AXJ'99ZW?7S5#YY$L5QK.C>VWM:P7GJ#=P#36AN0SG>)G+/!
M[F+7_5#:'AL,'8FBLUW0:;N\07->S@.2#^9] V8)"O.\"5@N@SV^#>8[6  S
M7TZ$/9[LY4U8W-9P1NWM>=-ICY=/;7'NYK#>K9W;@_FK%Z8#:7O8,![+LL !
MF-[6)7ZJZ;.G:36?.]NSY[P39T\3=31K=N!1PZ:Q=X\/G_*GI6I6!A? 4QM,
M+8)U(]5VF,*GS[?7G09XP,ZQO>1K")X-RH&B-T#T%.(V1J%Y-]G>7>?M)SM$
MV%%'V<&'#4=F%82+1U+\8Y.<%L<!99P*Y// 0SA(!4HCR3TB&,X2+TQ<&H+F
M8QT F%@B=^" HZX.^: 7;SF'.IC4[2!-,)'Y%!FV!E,=;C_O%*H3Q!V-G#KU
MG,&!]O!0W>9E+H_*\NL+NRPKV*7LJ?53'V=MCS'AW$I+2E6#[\RL<CLH3;4<
M 1QNIUBA<;99X +P:--F@.7+S#%2S<ZX4YO.=\2-D+5WPHT]>V[G+#5 [OMR
MM6K:-WDA85P0C' B4H09"1#!G*',#WG((C^C26K6)6L/SL02V^V(M8%[;NNK
M?3[IG8,6J(=)JC:Q9S2RZB7%>M.J?2AOU*"JE]33S:CZ'S>H:9$NY()5SV2U
M>KTE2_Y'>5-]$\4G090S 78#-;>;6";W&J)OT'$4/LY+^1].C9+3X@0H-]%D
MU?BQ.@&7H#%W?09-X% "Z3>K_="$,5^E!XSHO;H.X%*S<_KC[G[K\KDHI,%U
MSS(O3;)4'M&1B*0KZD6(QB1"+F%QE 0D2 ,/,@3P& 1($\!G =ZI)0YK8'5O
M\&!'<P]K]$[E\PB&"74'UH730K-W*)^FQ-)YW -@UJ/X-(&'I_# D_ #^(^R
MRA_>5[TY?HM<BOHNU0_FP8(WGOA0_D.4E8I7'HR[.IW>JC)7_VCR5@\R7?7/
M;#AWQT_O21D+$WF+/+7L3ALSR>BPAT.;[=@W9D37 ##?!*:0RJ(Z43Y?MU!T
M*8LB(3#R8]77FB;2'" !1CQV?1*FD9OJ#:D8!C.UPWZB#<-8RT4(HX:5B#WR
M8=K"E')MP=<C;,A>D#MT; 7YKYV<CVP^BT#K$;B17,VGS:SUIASSGG@!3QD3
MB#-/)?'Z E$/!R@.A$N%"%Q)'<1";[:=Q2HG-2B8(=Y2[7'BA0$/4))RBC 1
M/DI=PE'HISST!4LP 5V1&5!M<#%V+M5Z+@><%F"$?I@ L&.QCZ\E9Z+==%8'
M8I^00Z?AX+<&B;UW1>WOO^Y*!.I.T=* N_K!EJ6X(S^:@57J=N23J+ZM^7V&
MF>>F08:DFI G=A 01 +.$:5)[*7,IUF$[_/ZPH7?:2;T&N"A]36FS==XA(WV
ME]F =RKRPUGG3K$[YZ0YS#K-.@%)HB8\'Q;325EH>*_=('-0\+/!Z,)I^2J1
M:@?27307< UB$W,3D&,[,5?-DFJGXBXLC?8,U@SFS9KL.U^B[!E4[V7&GK./
M]8XZ$E)1+?]5?X57/U087WP6/ZJ[[V+U(CZM\^I;>9\$-.0)RY#P<8:P<'WI
MJ$4Q2G@J7;<H3+$+*NTZ#YV)[2KY54;6VNOH<%?/#IN/9S!U/]B21ZFC)\%4
M?*B+Y$43(KK)+1:/V>'/]/U[=)#Y63K[ !@'Z/D#V=4P141YR>^DJ<:[-Y.+
MHE M[M29^^YU]\@M>54_JB.;391S-[6UN1B[^T;RFZ=Z@$H=^"RO\]NZ,.N>
M$S=.14903&,7X=2+$4FD4>SZ&?5=' H_U9K;,#?B$ZO0S\\J:/CO_^9%[G])
M8YDT0>-?EGE;^PZ<OCS;Z]33Q#_C2S*(W*$:O_UI[QTB5->C[G,M(<T-P,7F
M/J!#3'O-7TERG):>B^:BH*Y[O!TN981G]<S\%FRE"<V%]KQY1S._C*-$IKGA
MGYNZN#'X!X[)=Z^?R-_7Q>6*E.4N&XC%?B("BA$.N33%H\!'J1\P%*9)C#,O
M3+*4P-JFG(\41%$9=5G9)D7>9%M/][C]HVEZI/&[T#PN9N4O\"#H9)MN&3O2
M9%.>"S6.3HWDI)/&[;'.>I*G,4)OE ]Z+@-/IXZ>O;-![/K#NA#+A[Q)EV&O
M7T@E/JS6ZTW219"F:<!)@%RI$1'&J8L2KL+4L2"4Q'&(,ZT1YQJP)K:D6^#.
M!KKSI4[-4/ !@=(1=FE$F.TQ 1A=.$V_R3C4$48 @L/V&&(6!S;Y,& Q7CT*
M!\.Y(UO,%[G5HV4O2*NYQ+ A7F."EG?K5GO>%NLG452OM_(E5XN\MDN?U"/W
MG'@BXVZ(/%=X"'NNBX@*-@CJT83%."&AN[ERTS/X]($;W+/!U-MM>Z56*@/D
MJ47CPGE2B%S4V65B@\N%DPO-*C4#+NN9<I8Y9]90K\7!J=8;D\VYW7+N=L>Y
M+2X6F^R!Z;?5>T\?\+PM^< ,.>K4!]_!3.74CFTGU?BSI+#-/8]C'F/N4R1$
M*'U*5Q!$>4A0&HLTXC3$@0]LQ7D:V.2^8A.%RM<Y.CM-?X!E>OK"#AM@^J&A
M?R]Y?P?6GBH8)\V2Z \ FE74QPD^%&V-%6:B_&G]4@>UKO.OJG4L*;A4&OR9
M57\C*N)5O2X8*Y[)ZLMZM9)FC(ISW>,(1TD:>"C-?(:PGTIO*)+2+@V() H#
MX6<,5!UK@,/$KM(&(Q5LWN#DM$@Y&ZR<%BWG+X68TV(&K*PUX;^>PIB8JS!-
M,@E#P8KF#)98TD F&,RJFLY@T:'..F<K>+&2W.%AG=<=W^19__K^6=RM_UBN
M5[4K?)/]]_I17*H\F.+U(_F^>*QT:Y6@^TX?Q%'H.!M\'/XLE/F^14EY/PHI
MI\7*D6A=M.E;^L5)8&X.ZZ2I&0D.!$W 0U -DBDSC$J0P,!FJT R94.W ,EX
M#S.#:=M9\I$L57O=6U%DZ^*12%IOZ&KYL$U%49E*31^TF^RK_&F9$:9^]W$[
M)<V7]A)+4Q^ED9!V5)ABZ2ME''FA'_H4>RR)0:4"]E";6(EU>K*VJ#H=7)T=
MLIV<K[:EG)3,+L9G#+*S^"+U#+*W>3TPU3CWFP&;</:9:,FRLXC8K :??88>
MVH$30(";AW<%7Q3%G2CD]C5 59>L:P/V+IY81W:@U374^K9;/ZGC!MK95,)4
MC>JH5X^^Z^2):1,-,K8&"3.RJ/IWG,UL&B2H:QL-/WB6 53>![&G:JM#Q#,O
M44,O$T3B.$74Q3C :>:3+# P7Z8V/M1,QI*LH '<+=F@PW[ZH]IBN>,ASG9/
MQK<YU\9.I7/3PW?=C6^R;K[@%[%25YBJZJ8\2A?LY'UQS!.*J?0!1.(A3$.*
MD@ SY#,_$URXH70"($)T)CX3R][5__Q^??<G>K?X>O7>N;SY='OU^>OB[OKF
M,TP6SV6ZG@C/R$J8Y/>F4G=.4;M=T2RSPY)2.1>;6761)=8=JC!;V\(T'Q?+
M^ZN\6E:O"\[E5UI>RK_>%'?K[_D]3Z*$9E&$>$PRA.,((Q)X'A(>3\,L$B+R
MM+39 (RI-50-U6G!7C@*L&2+HT#K*:DA_@PK'DM4PY2)$<':RD.#I $#7*YN
M=('\RTX%#.TYBUAK$+4159U'#7)6/Y&<-,J^KOO=I#ZI/(\V_1!G?AJF(D6A
M'[A2$I, T43X*&0,9YAGD8>UW%\]<%-?QV[A-Z7JS@:#.D<)D+,YSK=A";7/
M#> UZB C3+)8QSD"2&2URAFS7-8.A^J&&LZVT\93ET/_82FQ59OBP=S6\5WF
M2V_5IF@OPU5_E:&;)6BUJZRJ&YD)'RLG*4:8I2G"TE-"Q"4IXH2(-/%C$B0)
MR',Z C&Q5E, .T6/H"9O WS1=&[.HA:FM8"$PCV3D[38<C:. <SK/YPD\,@E
M./VDF>!]%G(_MGX4']=E>4\C*J5-M5I.5'.SR"6(>HR@)$["). I)DKF]%NZ
M[>T.$C=X9S<5]UO6P& BML^!.$LC$F0"A2+F"*<^1RDE&/$HPT1$+J49,+_5
MF =&*:UVN.#3,)/ZEZ(8QU(!NX% ));_)$D0"8_Z29: ;J[-OP.S^&_# 8>\
MD.6J+CFLUGMMN+ZM5U)$@!'B?1;IJ6%CPF$:6-'<P'%^49!^=19552SI<[6A
M_I;8S>GM)<R2.M[?>U9-W$O6H1+N?\CDSK*^(5L417VP:U]6=E=-?4MY?(GW
MGY";RCT"AT7F/-I@\M)W-VG+:CE-A^%5Y-Y6,]Y!]I&P?_G8^P1<#FY?GNK"
M</#(EZ.%$TO#+7EU7LJ]C)E=C/;"J7'1EXYCLL<%Y"R*83+20^P4]?N#5!E)
MS/%NLPG-24*Z<G/Z(3,3_MUSN<Q%6=9%8>6R[F:BU"W)4A9E+D=Q+!*$!741
M]7&$.$ZD+>LEOL=!#:=.P)E8YC90G0Y8(U?Z%)OT##D+Q,/$SX1NL!4W0I4E
M>^X4E%DMNQ%2#VV\L<=-YQSEZBZO$'Q9?2"L'F_?SG%YMRZ*]7=YGEZ2)_F;
MZO4^=#U.>10A'*MAO"(2*&5A@!B78AT2#\<L@\@O!/C$0MV"=>@&KL-:P-#A
M2 !^8IX2(CF(!$LRA%D0(AJX+LK\U.4T\T6<>H"&U).Q]>QFU$VW]T*\K%<O
M-6]KW)RL16Y"%NOITJD^1)B"55BHI.8&#V>#R'9^E;/%Q;D<^S@-1EK!66!M
MV!4 ],QCL.!,.1Z09; 'W&79SL%1 VNO?K#5PQ]D]>6I4,-POCX_/A:O*F&C
MK/([NH+-SH+O/'7&Q-XTI\Y(Y+I_^.JY=J2;V4]?Q-.ZV YXZO2*!'I&!MP=
M=YVF92Q,]QCRM/HF>OAJ>7R6.9^,O#4#<+.Y<^:LZ/I[9^P"5TSO7S@O;XJ;
MZEMQ5>0/Y2V_R;<(?*[4S[^77[(54]#OJI4"_6%=F$SYLP!JZAO8Y<N2BUR*
MV+IH6\Y>D4+5J)3-Q%DI0ONBF*^KYL'O:C#"%Y&MFAHH*7R-5;4G?IGJ;&@T
M'-#&:QI7>3._(9@.G/OE6%:3%GEKI#=MP)]-D5ID5E>SVMS6-$GVPW(EFA[F
M]T&& \_#'J+"E5Y[EB8HQ<)#@1][ 4N3+$P)+#MVM_G41EZ3):K@.0U :#)L
MAP_#BNE<ZH"6ECYA!DFOQQ2<D>W:V6SF--=C,H[S6WN>.:N^[(/$XW*=5P5A
MU=^6U;=+:0*O'T6QNPV)$S\0&1<H#OT88>'[B'(O19'K$R]E+/9BK9&?4, 3
MBUJ+AE%UVCC3]"(P4[ ")I<M!H[Z')T-#LYWB82SP6*B.A<H[7:KY,;!OD45
MG38S3E39Z:^''[/OVSSA#\N2D96RY#[(GY3WE/G84^I!2#6!<,0Q(AGF*.4>
MYI0D.(FH[FE[ L;4[DD+U6G -E9J#5C_\#W%G?$SV +-0(,?3B[H2!XAR.AD
M/K7G; ?T"%'=<WKL4;/CNLET^EJ1JDZ36="REO)[D5**H]A%?N1C>3IGZG8Y
M]!!G;BRR+/7B##3G[02<B46P39K;@G7^V@ &WBZ?8I/>>6R!>)@LFM -/FE'
MJ+)TL)Z",NLY.D+JX;$Y]OB9%9OM?]1=B'>?I1'/5.\I3ICT2E,1HH11%WE)
MF@KJ)AZ-M"K%!J',XYYNBQC;OS@*]N!H0 "?=+W6,ZDW<E_AA)M7</81=GX-
MY]ZN;U/%V4?8R3K.WH?MB:5_GP:N"$4B4$)5=Q4WS%"",4%)QMP BQ"'%!@L
MZH'REF)Y]WU]OECZ9X@EB'J+8CE$N!6Q]"<12__MQ=*'B*5O*);]I52?R:-X
MOU8=S.Z)JJ .PQ#Y7B(MV]B/I% &,4J#*(Q<+R59IB698X"F]B[WJ_(N' 79
M^:N!?5898H=7>N:M#0X ?4TSXL\L33RF;)("Q0Z8-RQ3/"9VN%BQYWDSP;W*
M,L&JF^SJ!_NFJC?4N)V;_)*4W]3_U97A"UFI9(HO0L)>JBM"]8M%SO=_T'GR
M7D2)BB4QI K<$$YPBN0/ I3)GP:,^MRC(&]V ARG/LMKC%5"G&AQ=@HU)JKY
M>ZEN8YE$"*8WIGA5>BKGC5\ T)S8\GZ#;C.B2_)<X7!1_^ET4%']6S=8MH^H
M,3X'/]Q?H>*SR_Q991;=/(FBOB2WV%QN0H9;4J)38#BK_IV0Q8>J>TI09EK_
M;V+Y\$WNNGB1W^Y#>Q5YD]7]K\J;YZI4,PCDQ_V.E$NV#;^QC'HB$S[R,L81
M)IZ'J$L#%,5IYM$@PRX'V7)&6$RLN3<X.:1!JAV<[JQWZ&C6;)[':SW%/#D'
M8:IWR[P6GS9)H.YVW;"Q@].%4V,U2;#T++Y8TI!F.,RJ \]BTZ&6.V^SLV>8
M7.=<&<6&DTK:U1,K%P7">*S(AL!AS6"'-IC8'XX(N9#.(E<)B6H\T2#-YXP!
M.2#+QK"/S99O-=+C@*2!P1V'3YJ9 0.3HQ>/ZZ):_FO;;CXO17T)*I^]S[PD
MI8*Y"+-,V@&QFHR:)!RE:1)XF4\Q91[$#C!#8V)9]=W A1WTAMS4.^FGYQ%0
MYH=FU7?F7721NVBS%.0:>T?]>8RQ=-8;(C'K87\>HPY/^S-W,\]<NA7%<LVO
M<EX/:G")'WHICE$6L@3AT,4H(<)#D<_=T*.)YPJMOG8G(<R5M=0 =214P "+
MTWP9O^@YFUI@#!E*J%&V4B\Q9^4J[>\X>Z92+T%]>4K]#YIF*;W('=?%JQ+R
M\IO@OZW7O/PLJIOLBRA%\:+F643<2V(1(1;A#&'?]Q%A7H"B(&(Q]3U/_@EK
M[:8!%?)Y&C5\VX!V'A1L:-+2.-?TSGK+G( )ZA;XA;/E1@W_PE&-T:0KO\'!
M9FZ3-L'6\IS&(<Z<\Z3-@N/\)_VE<#>[+A>[>WSXE#\M+_.2%_S#BCSHNMG]
MJR<^5&N@FTEKGS[?7JMP?;GDJGI-W_T^0?BX^WT^S3")'2+7^4O!ME2E-TR8
MD0-^8LO9'/!ADKH.^,B3AMVF2%G?!K1%J%Z0>)'(0D2(B!$.8H%2DB8HPSZ/
M@XC$(=7*PN_??F*I4\#JFS9@)ZE]%NB=D.:$P41K2Y/%>M=A&FQUB=K??-[F
M4+V$'?6$ZG\*?D!=-[INUT#QH^:HT>'%4UI8-4RGIV]F:7D0J!Z)1II[8-O9
MM/<X:5T-KO&TF1;?C.&4.^=EIBX]E 5V4WR5MM>2;;*[(A)A&H<IXJIY(!8T
M0R1+4D3#S(]=[(4,IQ#EK@5U8IV_FV:[P4+]7>&A^A"TF!BFR>EQ5>^\L,XK
MF,1;8A/XB &1;>GDT8,YZX$$8L/A.05;?&; 9=< =YL(X,912ADE* H2'^%(
MS1/P_0@)+'R79FX:><#2L).P)E866\B=/K]GE(B=9ADPRG(>(PRC*T >F(=4
M3E-G.Y32 ^EM0BBG23X9.AE8 K=(.\D.BX>'ZJHH5*^4Q6.E&S4YN<'$$MJ!
MZTC 1=TTTY'@U[E8/Y?[+8$6C^OG@2$( *Z,F^E6& *35)N\ -GKH[0:F>NG
M=YW-6A\EK&NLCS]LT!I?K!>L>B:KU:OJB044RO[5$TOD[=6-LX':-/(Z2P9/
M<&!< ,\G'B9]Y]$-ZY<_2)I9T_S^+>?KG#](TE[[_.$GS^ERH.:Y;%J9-*GR
MNTSY6U&\7ZZ>*\'K],#[5%"29E1:M4F<(IRF*O") ^3RR/4SEN', W77!V,P
M]35_ \KY99D[?+U:D:)T)"I-<O&O)LT1(-S5M8<GY!G42NY.7]IV-3HJN+A0
MV03.AKDU4K8;+ACPPVHK!@C\-VC28,">_O8-)AN9:2<UZ5O=C-:]ENY)E/"0
MN3XB@1LC[(412@*"4<R(&X89842 HG)[NT^L510L%4@JR6K@-EZ#"7H*PI@T
MF/!OJ!IK[086Z%[\+0GK_MZS"F(O68="UO^0F0!]9=\$?UZ)FZQGKD?Y[K7S
MKUTK/1%PXJ:8H2",$X25B-'$BQ%S*4UCCA.?@$YX$R0F%L<-2NKC7:SJ[U'9
MJO)?JM7X;OATH8*]FROZO6<^D&71=BI7>]39E,W(&G65KXH2/RX)56WXEZ)4
MOW]^U,UH..OEZ>F'J5\)3(UTWT;?^!]I/-#7_7E $PSDLL$;2RK*"(59-=DY
M3#I4>&?M99 EQ?]^MZZ])\#PR;U%4^=$;<<BJ &F76<:,()RG\KQJ($Q@3!1
M/TV;U3F4O=2893WM[31?LE,? 7LY3KT/F.?JUW=FM8PU@S?N/>Y&U/4\)#*F
M_/Q$6MLTBU#LI2*,/!^';@1-US\$,K4KOTEDW\%MQXK <_:/^#,L4K:HADF7
M <%&N?NG*#HK??]HT]DS^$^1U9?$?_)9<Q'\GV=2R*]\]=I^81&G. TY18P3
M#V&2NBB-?8P"'//_K[EKZ6T;!\+W_16\;0N$6%MO7@ITLRE08+L-&A=[V(-!
M\9$*:TN!) ?-_OHE]; =6Y8YU*.]I&Y"<>8;F>1P./PFIJ'#1&ATG-PC8ZX!
MN!=K/?Y.C6,^_ 9 MAQ]QFBM!M\%/(/&WFF?LP^]"Z"Z1MZEIG8[Y/=,];K;
MZ(J#58D5O:3FXIOR2I)G<8AW52GZ*_I][03"E8YTL2,<%WN!^A0+0G$0+IB_
M%,PAK@_9' /E3^UZ'K1!656:AAWK@S9*%=@F%FI?L_WKA%8#^K-'!JMK^;Q2
M!;T*C^^OY2B5QMNO6MIBI*TJ5/JLNU1+TYQN4&V[L:5-;>HVUO-;DCYJON1=
ML:XYV=2$0P)?\S,NB69.C;$G?2>L8N,1D-"X6]#$<TS#(=I6&]T+1[5T*'?J
M!6-=]P_&,@%LPK!%;T&@V@]M (?JA8YGIE'MAW?.I'JEO6U1GY(FJ>!M!;?F
M:HR(&(V<@.'(\?3FF7(<21GCA1M$#G%D1"2(=J-;S,0#M16Z+T\'+=W3:1JS
M!7XX8-BP/,,ZP2VB?DRCE=OI%#)S<9T^H.>E='I;6^2.I46J2XX^/+/;HH35
M]NQZ=N)A=J_]")TH=:B&N[]GH,\" 2EC7<"OAWZ'8H:-M&MP1RY7V0?.+F&L
MJ\/YTL5ZX+Q*%NMK-P,1Y=HC4D@9.MB+--N+<&-]B$RQZY&%\F,]+W*,V%ZL
MI$\\8FLR1)T@5C-. K/"8(8,%R[S.(\QH:XRI*<9FMT%QW$0"Y?0<!%(('O'
M9*:TXO$XSK>;P9QF[L=D)H+-E38DG3^(F7-D-P8F^^=EXKSD]-AU O>%'LI_
M[W/V.5\5^5U1)MOJJ/63*+]E_) S8N@;F?0U==Y.J60T:3E9CE8/7]!!%53K
M8NXO&1GGNO\TMEU@<X2)24:N* H%;>5G&0F8S>^"P#WVPT#/V88@6N+QZJOP
M-4W*XLO#U\;]]P0)0\("'!.YQ%XLB/(<*,<><WW/8;X3Q$;'^$;2)@]([&G^
MB^I;O]/2H5&)/FN9!B=&L@$T1K&'7P_Z2C!ZHT07;R>)5QC '"ULT2=KYNB%
M >SS((;)0Y;,0TU6W&VVC9.4UCD'+'M,D_\$_\C5#CJ1"3UP>C9)J.]3?I2"
MVF2@WN?9D\C+EWOUS2I5"UVGX$EOPM=!$,E%$$A,B-YGR,C%1+H>IDOI+YD@
M4NWF0(1&<V@]=6BFD7N#GK3D*JU7M+*!W$FSO$2S^>NG>S6P>7"?(GRD_PTZ
M($#'$$Q3LV_0X6576.K*,G=7WS:<3&I.ZX_%436+SO-27\WY&LX8M685;GTU
M-!>T$'^(^M^/:;6T?<LVJH]"2RE?OF2;S8<LUWQ[:R)C+H5R+9GG4NPM:(PC
M$G'L>@'WJ>\2AX(\3:#\B9>"5AOTIM7G+4I2=*S2KZA6"OVCU4*-7O!ZVB"K
MF\WX$]H2-G=/8$:;VZ(VQACOKBA(^MPW16U,TW%/U*H;>'SK[KM@NS)Y%K>T
M%(]9_@*YU-'Y\-39+ZU,U H%7.KH1GL]0C48*&R0GV,<]7)'+QJK6%-WC[,%
MEWH!'4>3^AO:+?.?!$]VVY7(MW]EI6BS-"(9"TXEP3**?>P%+L,T8!XFKA/)
MI:,6= *J']<I9>*A5LO$ZLDMJJ3"5N)NPYBMMX/AP@9<@W35(IT@&-2+:*2E
ML5O&K M@+\S39:Z_L25_>W&[R0JQRC1YM:8Z Q9+Z^MCXO$&*YG6"_;ZDC86
M3MA JZ6B2JSV6U?)5NB+C!65^X&8KIBHK)H):'MN]TL=S\OP?@7>&<_[M?9#
MB1-TLG>6ZC2ES[+.]5[1[TVMI-]%*F125I?1#R>&:J%D4>2ZV*=QC#W?<W!$
M*<4RCJ5/0Y=2&'OP %VF/H[=;;=4>7>?I8Z>/2=58I=RZMMK#TH[452_@!5A
M'OV5F*W:,QD:>+Y[1(YP4$O_[V!DU*B&WC3*O9V)(<':3J,3)< U^4%\"=8F
MNTR;8-^E[0V5#\E&Y.TF9$UHY',6$NQSKC8+COJD=@T<!Z''"25!1(719N%"
M_U/OR.L;&97(_885>@OEM4'ZIYL18 +WXR"$%C=-.G$,N&#RNK^9[Y5T@CF_
M3M+=;$ *QXZ5NUPMD$TAJ+6[\'G(_ 662^GH>#K59=MB[ 2$<\=;+IQ0KI^J
M6G(/)<U+,V>B2Q3DFW<JT/S43CPFJ4[P1S%5?V# VC/=)G*HXS#N8D8<Y6FY
MC.(XUIG&,EX0*9;4"_W&1'<IG]- K3C &.7CVL;,Y1F*%C81O9+6%J<;.6'E
M I@Q\U1.1<R?GG(!9&=6RJ6V\/C$;?8@-E6MX$^"ZGTN)##1^?#$2[MVC&CZ
M@EK)J!'=OR4WQ'T]1C$8,FQTV:$%!2!Z$5E%'KI[G"WDT OH.-;0W] RR*"3
MO&FN3_"Y&J5_4UU=JGQYSUB^HYNZ3.SI4=I:,LD"QB66KEA@;TDYIH0X6'D$
M<;#DCE1> RBZ8*'$]&E7=2RA^(W6:A2(UVN&IEZL5UA@\,#&U(91@XD-" P7
M--J@1AW4ZH,:A6[:LLX=1_$CA@@&&&6LV("-"O,&!088Z2P:,*2O2]/7\??A
M3_7IW2_M;]2/6/7P[I?_ 5!+ P04    " !E0)Y:(('7>7YV   XA04 %0
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
M8*T.$+?.J"0MV1>LU&W0#F1V8"T+7"F"7VAMU3U RC@](H:'WW$\/T*1KIL
MAPR*:X9IB>ASX1Q<#M5?CAI\(G8(U"DEYLA>?>RAXQ"XW"!@I'X10Z+D< 9W
MH%9^#\LY:<756UQN<H$N.2)X+I[T(#"S:>5:,D1.#J_%6J4<-S6-C8'R$"TC
M=9,8$C--V-Y!G.'[%S3M\'E83=-FFQ,6D/0FL\0N6S,'?(&050',FB5K2)/&
MQPH!AC&X;I X[OM*&USL;44=+J0?!8._36=G]2ETLT%4Q5LI.1AIZ>0F4\ ;
M68"<(Q]C,"&*UN'5O8D<]SUG/!P>+*@.D/AWK&,9,#_[3!LZ.>\ \*;<2;+=
MG+5+EJJD<M!:DR&I,ZB20ZT3KF^?7 >K8\FV]<OA082.U+9GR&MX>(']:*B<
MN!0LB[5-@8BD_)4PX*I;C)P')30/63_6WGIP-(Y[/S\!8(Z!Z%[2ZQ>:U^^
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
MRPU#\\:PO!CV,M%6TZ4@%2"O03L, :+*'+BF_V8R/HMO'>O:C;*Q8Z8#8V\
M\70'NNU(@&=GZX^+Y?2_,$]48B[G4*V.B* T2T#>#0,F8N B^,#ML&\WMRD:
M.[[ZI" [2AR=@NOZO(D<D[<8R?6.J&@[28$+QH",(O,H8V*\=1'6=T@:.]0Z
M KP.%4@'^+KVH/6@/@[2*NV\K U<#*C,+'@9/(3LBO'!,.E;8VP'LL:.K Z,
ML]:"Z0MK=]2R0/*5,REC]([N_.0\1!\*2&.,9RAR*>T3W!\D9^Q(Z]-AZRA!
M](BI5ZO5&6TCVR2*%Q)8\ P4JQ6YIC"@VQ\3YUJ&U+Q1Z?VDC!LF>WHL'2"
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
M^R/\S\7RQ2RLKB73*$T7A9 !LG4.E$8#4=*EP3BWWB!'H5JWI#N>ZG$-R3'
M^B3R'173F[&1=S=\:Y?/3FM6Z38'X_>OM1H9;P7 ; Y%$]/!RVJ/\#HA@@XO
M8%;,%>:SB.E[-W8C6L:U&8>'Z1@BZ\"YN=CQXC'O[N59G:7[_;VC5\66:('E
M7),9;6V*YB5$%:4.0I$E/Y05T(+^G2 ^V."JI]?$3R[S?EVF&VUL#G:.[OG*
M &VA!G1X'F@0E!E::80&IY@ )4($YX4#%I%TF@M<Y=:>S3#-H:[T.PF@-@$A
M $[7+T.J.3LUP^U*C1?)E0X9&!H.*A@-/C$/B7L?HG"FZ.83&G<EKLLF4OM@
MY&'3L*58^M4V#[1K.ESQ//[!89M,#:B.OM,*R&)P"K%.TQ"Y-CR,$%RP8#3Y
M"4G([&7SQ[!!6TT]\/6:6GBRR8Q^_NU.>Z)G=8KEFT^;]Z:_UAS$U:OY=C3S
MWW%Z\K%V]2"/)IS@YB]_"VM\&:;+S=CF6S>Y#");JQ0XY*JR,T,(.@'S,<>2
M3>2F=<?A43?<=9NK?;!]1YW^,##JR %Z4^YGV^^D?Q??$#<S7M^>CT!_.POS
MB_93M[:?LE2*M@@VU=:HSI$I;)D$G8,HUF47Q7#)V4VV,&Y :LAS,:*H.S9&
M=FBE=H1ELOO7G[ UW* 9X+LV\)*:%Q19 F>U-:IEJO:FSR!+B9S%9%-J/T+N
MB1K$71VU!Y;<2.9:;5=B=+#IJE!&2#K63D! +<#$HA,Z5U -YV[M1.+86>%#
MH.IA!=E>:IV],=W8(/T&EY_Q^;</])W:&G1UK9>Q<4XGAPA::P-*>0%1B02!
MV\B4-1)QN M]9S+'O;1'A6<SZ?5[1U]K$7A,_<+MC[1O8#AHY<(C+>M<"CD4
MK*TI-:@2$EEB$0&%" (9&6K-V[L/V,;P"N?5.EW,J\52<^7/%SR/PS_'.9;I
M[93YJ)TT CG$Z,G[JH-H8B9+6?!<O-(&N6W>+>EP<L>N;VB#J(?UU+#RZU=?
MW>Y#>(3_</^7!NJ7.*#Z>K!;'K.8?*Z#J;((Y$5R#CY)"UF%H!UR1E=CXQ,[
M5-?$*^#?7J&V6TED&/PVG9V187 +]-F[:*+*U1ZH:9>E /V) Y9D4D)G*=-P
MUO]>I';:<7$?##VLK8836E=QOF?S]337+4T_XWM,9$-6"_7WKVEV1L=\.]7V
M]-/91?^3ASM2>F%,8<$"%[1Y)6R H&*!A-H':6NJ1_/&?,UW,:[C,#"B1Q%U
MO]?RW>:>AU_,#WYKL$:D0SXT[MY.DMGH=4X<="%S4/FLR8&M:@]E899 DM0/
MW([T*D+^\)K/OYW_Y;5G>6]*T)9#8;Z>UNK5A]H;#UTFQU[;V)XIAY'ZP[0M
MW0=GCSQT#";&#JYT<MO"R<D23\[5]SD+;]DI)7.;4XZ0#?=DI[ ,GDP6XB9+
M)7'.0VG=VG(GPD9^9GL:)+874;^WZ]VN4[@.TUF;UFX7WQJJM]N]M#YE<S=K
M?1*J*. F"M(]Q4 T3$*RP1'^HO*FM0_X%,W=_EA\QJT=\WX=YCDL\ZV.8<]2
M6IZ%V;O%;/9RL:Q9&),D8[+9&"#+,A$K0JD3I0U8BT4XI8/5K1-Q#B#S!VCQ
MM@^F;FNNH077P?WY^,8F(?.@C$H01!WBR>J *<<9&!9,TLFQ))J[MX]2-"[B
M!@?$;2.NG70.QMJG30884;)</P'BMOEFK^9IB6&%O^'V?R>:_/X:^P97J\"5
MS@)\LAZ,KY- ,*?HGQ:']],YKCW7%SH;2+)[_?AVB?AUNMH:S[<V:J+DMK@
M!5.FP^DD!$WVK<"H/1KDY&0]+60?)G;<PK[.<-M(IOV#]WRV[20H&4+4$KBL
MXW1C[>"M>0':JHB.=DK_][1(/:=LW&*\SF!YB+3VQZ#?8G!>O77,'Y[*SG2!
MFY C!Z$S>?]2UY;,-6L\>9:DLLZ$YMV@CK<S]?\:T-M+.D?:F;_/\Y-WK[ZJ
MA;W[U\]FL\67,$]8%LMM2=KKQ6IU5%RG.0U#]LENQIL!FVL7P7*L;=LYN?JU
M#VD!7V( ;7SF:*UWS1LB#M!<^Y*;=*!_6YS%=3F;W>5Y/?'E_,0[]"5%Z4&X
MP$"5F,%;K4!8&TH1,FG6NJ7VWD2.G3)]'%INZ\EA9=2!Q;C;!B?,62E3K7I1
M6M3,[UASU1 R*N6X$,$T;[*S&V7CPFU@>!P$QKUDU4V0B R1S],5B>V>O4T,
MQMIQ.H 4OLZ0KB4'4D8P&8TGD\3:W!I]C]$S;M#G:3'73"X_C*[[^W*ZQC>E
MK"8,?;#1D=E;DJ*+@UL(M#%0606RO'GAKO63S)XDCAO&Z5'['2:]8]WFI[R*
M2T&>2IV#9@OQ,!E';AE+@-*1F</086K=;ZGA53Q8\*9',.XEJ[[]Z/,<CC]K
MH* F5A[A#C_TJ49>[4Z4-G-.-VMM<TKG&W?C[]/UQQ=GJ_7B%)=7+@@2"@A<
MP*2R9))E [&VSU)%!.]R0I5;I_OO2-JQ2NM\F7=X&J8UC?8M+C<Y170TWL39
M].2RB5BJT<7I*?W(F_*>_G15:/6+!,\)%ZX$KA*89$/M;&9JP"D!1R$%.B>T
M;!T.;$/YV.YN>_S=5G4C2+@#6_'H76]<H]HRY=G7Z6JBN8B\Y$+;K3Y9+4MU
MF2P2PX,/9"T[KUM';MKNH N</RD&6Q^#PP$QXG%8+=>3=[6#T)9HQ;V/08-A
M1*K*0H+#0K^-3' KR6IR.UUC]-5K"*;?7:'WQH)CU[>/!KK#V=X#5O[ TXC+
M2?;D?=5G\U1C HI,0/ U+!4S8[QXP[G8*;ES%[1LEQQ'21TAK-OB/H!S(PO\
MC_!U>GIV>D&XYI+931*W)G\G:")<F4A85ZR./.+>N@8BO['HR$(_1&2+%OS[
M&8PD\NWPU1I/5Q/RPY&NP@)"U7J#LNDIZ@,00Y)(,3JF6\_/:4?]N&&XG\$X
M.@P(/\,1V&9-\DG1S@C+,ZD-9VN/.T7[5AERJ2UKR&]+IG58KQ7M/[AO<"#V
M6A^!0X PX@'8C$ZX+^CP>AIB;>%\,=[U;W,,RSGF<P81DU.-L#+2,YP\GY0$
MN.@0A*'_!K*/;+F5)OO >(L#%O_!'8KCD/HD$AM_ LNC.WPUKUT B+%_XI>+
M'[P42UJ<S*?_A7FBC4T^>X2DO"%C+F:(5B-994&*[')M=7<\1'>BY0<W+89&
M;'MY=F!3/+KC"0;R,+-T$ HF4%Y*B,9["%$4+7U$6UJ'RA\E:-QGOTYN_W8B
MZ[?4^6)N^Q17?^+ZB ? ^S_4K"_A=ZELUIOP?([]/9WDHK$<4] @79UVBUZ
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
M*VT<74I2"-J&]AI\0G+ULN4E;L<&_N^$BV/EOV/"Q3["Z!13MQX%=?$J.(3
M:SVY9G0V@U(0;&;)Z)*=?0IT_0 )%WN)?O^$BSWD,';\[4ZV $MDCAEB36'%
MU2G@#ER( E)R.2?+G/$_Y_27O:3V:,+%/BSL4[%<N5'D>TL1=*U^L!J40&*(
M2APD'114+%D3GJ"AVWZAMWY>R1M?6X>)I4^(K2X<J7?X&>=G.$F(,L;DH? Z
M$D/0T?-U0)<+C%1UR"7[H3R61\CJ3FL=B('O@^LH@72.L3]Q_6I._CV^7JQ6
M$Q],9I'3G6]KRI3R!D+4 9)C4CO)@T'UA$B[05S'$;6A\':X</H-GUV4$(9Y
MWKS0W@T@7I7OO/A(?X'$GQ=AN?PVG9\\.UV<S=>+<O&1(T)J@]#1*,PV/(\:
MA=XNUG@VOUMB=<]H;XG6>H.0;,V@M(PL2C0!K)6UF:(*6;?6+GL1V"[P=K'L
MUM8101HF0ZY=;.@_=9BFH],*:-&0PB@FR=;IE0^0,NZ=/1Q:'HZB'2Z)#B[N
M]R0;K-V0+BZ)]WA2?[O-ZN.&B/9"@!,B$8-X@!"$!^);+@HC+[)YV/8Q@GH)
MG!TA\MLP:L;_'L"TI?W<IS=2U6&K"5#K6MBL&02=)6C#E>;<9-I=:_!<)V!D
ML+03[)V1.8=R>>QXUSNLXU7FZVF8D?V9S]+Z<@8K$UDYIP"%KQ.AZ?0$+N@<
M9=J,B3D$MUN;Z0>7&!D-A\MLT9R!8\/@V<D:T\=SPB.A/7,K@&6,-56 @XNZ
M !9K.<NL9&EVDOSUKXX<J6HC[(/9-+9\W^$<O]2;\0*<FI&1)7@!KVU-N98>
M(G('0FB7&*]9<+M-);[]Y9&3 5L=ZB/8-;:L7\W+,I Y3:J(+.N+]-=8I&,U
MC""=!Q5CAB#H5UX+%JUF1;#=M/E]7Q^W<6,CF1_-M@ZLO0LC^"I(1?LMA3$!
MH11.[ B>[!L>@?D@Z0(2*IO6^9MWB.CED:*=BW <GSL"RKO%;/9RL?P2EKE6
MX4@=B TI.%UK;Q"\0 8I*VZ\KT_!0S5.NT9&'\&* P7[ $P.Y7)'0)D0R8IK
MYL 6%*"*DD#:L$:[,R<UF"V3K6L.]FJK-S@D#A;B0]WT]N'HP4CXA,OI(I/G
MNUPWQ<-%2O!O9\OI_.3M9I5)R"D7I,,AMBD#P4'MIP!!:BZY-%'=[D;0+M1[
M#SWCWCM#X>9HSG>D58@O.#V9;SOVIF^;^>;;^KV_DBVW>?\JT:-*E@.W-65
M%@?>*@2.27,M'-K!#)CO4S>NLS,4PAI+Y6"\?<9E7+2^Q[C+V=I80&9/9E_1
MM<N0]?1;3JY<S4;1K4.@??2W'^P>VX>C1]YCO\_SN*_4SW+>/-:W*O$X<L4G
M>WG>?=^CO#&7J#5Y^1YRS<I1(BHRI9R![(17IMKHV@QE>#S%&_/%8J]./X5-
MY]J4SD[/MI+:_%$-@&P4<Y2D>9VS@+XD,@1R@,BM@^ PL10"C[;UO+^=B>O#
MCF^/J(<T8UMI_1S)/0/T'VZY_ BI/&-T*][O+-B8 LLI 8%5UKE\!KSS&DK0
M-F!A)NJA=,H39_ \4N"Z#1I*SMDFR4]A"63W:@F>67*[+#HFE<C^]M-8PZ2>
M[U'W(^G7?3#U<)Y/4WEUX!>_HK-=]FCQI7G"&&L]MS-T?]3$!5=T@6"5MU;Z
MDE-KYWA/$GM)#VJ+E,73B:U_5-[;M4=9)HW$"-XC@HJ)?A4EA^A*2EYP1R[B
MTR*SOV9^@\)F/X@>+<,.8'JWK9Q*S,@B@/':>4)Y0=9U=F!U$<0Q471LK1W[
M:NHWN-"_V]AO#PET@*"]NFL*;[G.%D20Y"#*2*Z;-P)L)H\Q.!UD\_&U/V#W
MW$&OW:'$U3<2[SVU)7(OI$,HM!W:GG/@,S?@9.#1Z<QT\SY)/V_?W'V@<F3?
MW'WD-G9>V<U^BBR+9'VR=;Y,;:5?$G@C!3BM#!;NZ+ZXA;AFK2F[:8*[E_0>
M;DVY#RL[T$UW;OEH$W-9&#!!Z#I=M2;))0U85!+,6TE6:@]V5C>-;@_!31/N
M=X">O\T_A37QM,[^3!_G"SH&%WTB@N$BVRA!NFHM1IU)\8H,-F$I1F-@O/73
M[,/4_%A-<H]!5".)=/',_U@;:&]"Y%BJFG6&G!'F(4;/:T/$G)-.DOZX,;R.
M;<T]6#+ 4^*KE4PZ4%YU:O+B]!.N\=G)$C>U9!<[<25DEVH.G\P>E+,6@B\.
M' 9A/-=>N=;M.AZF9MPI\4\)KD82Z0!;CW#M]64V<O J!BD2<!DBL8IG\#Y%
MTL\\8!92H6BMPW:AJY<.X&.%&PX34 >@^TZ$\/>O:7:6I_.3RV0O@4$K85P=
M@%7J>*T"43 $X3D9!-PS%9\XKG^'QFY]R -1LE\D_SB1=6'$/<+"ORYKV@Q9
M!X[Y)"#H2!>&YAH"5QR8EYE;:QV/[.FTX(:F;AW0-J!K*I)10;:MXWT@Y^9#
MG<D^,;G(PKV'+,D>5=IIB$;J6O27I=*L>+%;;>RCRW3K8!Z'F,;\'3OH>4O;
M7DOE>W:Z6*ZG_[61V,1*,F$SN3!<UE<SKQ0X5PI(#-G[7%*.NY7,[[9>M\YC
M ^P,P/$.#*U'>/;0#@O/W@7-@&-M,F=L?8F- IPG-R80%XMXPEON&"2.X6D.
M?N^U$-OX-^%&(S^DKA_:HN?>&A0"#&("E6/M?.@4<'*WG7'&VK+;$.I#5M\)
M<>:'0]S32.,G22*_MOW?OW["^0J?*G_\X97'2!W?D0_CU.04+,:BA2B]H N:
M,0B,3+TBBC2%,9/"4.T$GB1K_#KSWY3;ZTT*RZ):*&#X9FPA:G F2S"^2,Q!
M2=N\%OIQBGZD[/!]L'-G6%4[N?SLVG+"Q].7$]Z7QKS-BU%T9AU&:>L<#FNK
M9YQS#=5)#I[QHJ3A3H;6285/JC,?,Z?O2N8=UN<ATDLUL+]*8?8_,"PGJ .7
M/)"[QZNYXQTG+9$T<"4(HHH++YXPU6U7LG\D[;L/"O=QF(:0<.>N_=TM_TF*
MY<,7G'W&/Q;S]<?51 >;,P9R$>I,3R5RS;$@SS%8I;,N6?'0.GOJ.(K[:*O2
M&Y2/DNL/A^)Z3C]\6=0"9E^8<%!,,<1?4\"'4EL:L<1L+E[&ULW=#R*TCT8M
MO6'V$"GV_D+XT#8)?3@Q4ON(V0-W18*2+(-#%T$YKBU/WJ?F\P8/)+6/7C%=
M G9O2?Z@D'VY.%M.M$\V17*"30G$6V$9.,WID))CK&3A4M[NPCT"8BNEXSX$
M] S8O>7XH^*5?G9B>?3<<@E&! T*=<U&IVVC5RG0[Z16XUJS%Y2.^XS0-5[W
ME6._8;+7B_G)!UR>_H9Q_6=8+NF3GX]Y*GCT>XW"6;O3W"A$=7W!2\B%7)QW
M9 U&\E= &6/ 6_J51R6T$9+@V#J=^3XZCM5B]5NOYK6K=\T,WN: ,K)U-0L.
MN*H*..D SBD#0;J".3D=FZ<PWD/&N &AHV5^6\T<R^@./.";6]B4@D8E6.1>
M03!.@&+&@Q?"0W:(-M?>EZEUNO5=*L9%RM&"?10H>W.Y.YQ<;YW@61&*;DKG
M,F[K&((N%BQGAD>>C6QN^SQ$2T^8V5_&CT+F0(:/G4CXC&0GWN-\NEB^H*6G
MZ\MZE<MQ04ISE3F@EECG$2 X\AE(!9,=%IAW1NU64/V]E7K"QJ'"7 S%V0Y@
MPOUCF[')&_I_"Q@#;2:' -X4NJZS4,Y['H39<3C3=U8:-\P_"$S:<;:#:ZB:
M<.MS$^X#_9N-FA5:N.("!Z=]O9F%A>!< F&2M,HJ'DWK .=]=/2$G>--EJ,Y
MW2%:SD]3\$%*%S5P6VLDO9%TFGP$31X^C\K(T-S O9^2\=VAXR3\'<@<P.X>
M0#.=XYNRU987';U2B24K"\(Q8@K=GN 8*U"8RB4)E8QOG7UQEXJ^P'*(;&_#
MY3A&=P"5/XCTL],:4OASL;X<FV>8$\J@@,#I7E4Q!8B9!Y!DC2E9=$FV-5KN
M)63<^V@ P!S/[K$-W5L^XJ=/LVFJ-_6[L,;M4)N-$G;$)$0"/T]8B_B3@"@$
MN9$!G0XI2FO33N;N;NN-FR?0RG 9BL']8^;\:&7DOA1.NT 606E-1RLD,N59
M\AA8,;[X1J@9TWP93,[[X>@ IH^-I/NV(<ZUJ.3DZWDZ8D:A).I)@49$#DQG
MD7A0FM].,'W(PWYXD:[Q<H@\%P,PMP.SYC_"<GJQD<TQ,IK;$'(":R/6=U'2
MQ&+3142B8TI%=CO\<K1%<YN&<5.#6CO71W&X,X1<C" N64HRQ,!910>'%W(<
MDPA0K/$9!;%'MR[<O4O%N#[2<5)]!"('L+@#D#P/JPWUYTI0>4Q8VQZ84&+5
MIXPTJRYDK--9,:4JU]8OT#<IZ <<A\AST8RY8YLAMR8MUEV\G"T6RXL.9B9+
MRVN/ \XU**$RN)@C6)6MT\*9B+O%^A]?9USON!$:6O-S;&B\7LSS8OYJ3I^+
M8?Z/-X5(P%QW]/K5\S?O^/F6:BE!8)E\_%I@H$1A9-:7!$6PE))6C*FR$T1V
M6V]<_[@E5 ;@[XB062W7DW=A?K*];"5+TB6)P',H9(\9,K(#,R!M+#H:R1WN
MU$B7OGKM;J'?7=TK-Q8<-_>WE45Z. ][$/PY7A,OWOK$P4N.M:%J!-H% ^NY
M%<9&5?A._LDNHA_3ECA"6+?%?0#G1A;X']/Y]/3L]**';A*%;K8$,HI:+AD2
M!,9KL7PD$YNC47:GM*/OB/S&HB,+_1"1+5KP;VS!AZ_7"(^F*"F2(4K)R%6A
M>+)T.:\/"'1C*6%PMU'6WQ/\]47'L16;"?Y@_G7@1-Z\YUY?=AL2EF@5(0)A
M6! S.%FUM>M4)+NH1*LXEZW'<SY RK@U%<-FJA[&[PY@<SW5>^(LCZX("<HY
M,F=K.)<<( \Y2JFY4DGPYL_WU];O*?7P0('>D^AQ$'=[0,:UK(.7(4UGT_6W
MK>N\?KY8+A=?IO.3%^$3_<WZVR3IQ K94Z0L-[>D)V59(AE;0=C$HA!9M0YJ
M[D-?3QEGC9 UE'0Z1=[YW7QW;R(H)TJA*]YO2GVQ9F19.EHFA)1#UG30G@!Y
M#]'74\K <,AK(IT.D'>37[0[?':Z.)NO)S'FK+Q-$#5WM _R(QV9DL"$1\:M
MBHF'0:VH*UIZ>N!K@Z@F7!\[(GLK)?VL^A!O2OW3%XO/. _S-3$I<K(O:1<F
MU#(7@1Y<,4B.B:J#4)G)=K?.J#LLUE/4[3B8#,+>[I3-)M:,JW6-,;]?USYU
M;W&9JLQ.<(+)V,P80@KU:<+69&,E"C!'=B/'Q)UJW>=A=^IZ\NN&4$C-)--%
MYX:;>WL>5M/5>Z(FY#?SZP\H?,*M3<E$ [KV*E8I.;K$E:_#MRQ=VYZIW9X)
M#L;<P[3MA#C[XR*ND52ZP-N]CLKB]'2ZWESVB-<.DT.-)NM"R ATWSM4X%-1
MP-!(@<%:BT]ARS] WDZH<S\2ZH:234/@#=KTXZKSZ_4D_$8=0![_^ #M0/;8
M3:/>()OOWVU((YQE20D-3I8"9,!7I\_5QA%1*554#LD-<'.T;TA[7\R8CEHV
M1G/@A07:')("#I:!L:2549!Z9L,V?>B@/T@#N>_2(60?5G=@S]_4HYN79Y5E
M,*H@:&UJJ;"LZ=+20['1<4?>J_6M;:B[5(R/E:,$>WM>['%<[@XG%^GT.J*5
MQD*J241*>+I>@]4011162L?NU*0T1DH/><''RO91J!S Z [ \@X_+V:?:TCU
M9L#U/)LUNCK1RH)W2)OA&$GC$K,2IR.4BK/9M7ZP>Y2@GN!SB+P70S&_ R2]
M7X=YCM]>X[I^\U8]<>3)ISI20V55ZDPB"8[K"#I[[P-R84WKYD2/T3/N>UUS
M'#5C?0<P>L@/=34"D9T%B[Q6%QND<U&[]'M&E[JS4L0RJ%W\>J\\DR=M+W*,
MO=."WQW YMY0PT/OU4'\_^U]V6Y<.;+M^_T7WLMY>#F /-4Q4&T)MKH.ZDG@
M*.?I5&[WSI2JU%]_R1PTI'+8 U.D7-4-%.2).[A6D Q&!",(LA@J$-=4Q,L$
M"DS\'4"@(XH+R1G.;3;WD:\F@WJ@0HS))NC#3G_-4RO-F_GKY&F_+)-4$(U*
M*4FT-2U*5<.5$D 3"D'<Y;G$1GCJ<EOC?>2K:8<[G0)F8:?2K6_5VB9.ZN7L
M$(IB\G@Z0,<2C,P";; #@@BN"0S.G[2&SG$)ZTQIR:U]F1BJM_KUQW_?QLFD
MYY'N?7.3ZGLO!_T\2Q[_R9V_F.K9"%=XG^$S.<,'SRB3._S;]ZC!+S[_X!ZU
M-B!O.0)QDX));1 PDG' TO,"AU!* LU]QSHHT>@;Y3K@<![V?*=M4U9^6J?S
M=_>/?^="WR^+2_RA6[<RD!V%SJIX!PKIAD6]\<"8>)]F'ANM@S$4YP[\91.^
MK#684>=>W%J+T%O!@9WVB513=.F #(0JF*I](I6RMN-4@+'6 FF-4Y@*+DSN
MN\C3[Q?6KC(JT&3BHR)=6GN1B,)"^L!2=>'D1:(V2D\Q8%9ZZ#B5PN?VDCR7
MH*P^#6=RCTH,@+5THNC9S=+6P!#)-(NU%Q J!*U*C]05CO_AP@'#<4KS,5AC
MQJ)52XZ97/N'KX/U(60U69$KS?V79O8Q&L_-O?<?)JVW\:_.GTS%0F8P3Z_0
M&)%Q/E8!#4T AEK"-2).PF[E&@Y_IZS[()<V9,2R@G-B=51NB@O'*V2 1 C
MF5BV=() 4FV 99Y%^9# -'M[^*<"E-60.JR.X8Q4H$[#@7N<]LQM+55J _%,
M*T!0VFZI=T"C"(GRB!.(L&,J=U[7*>91]C <H5;;][/2'%>@YRE;M9E]6\0#
M86,.<$$8EQY ;..2YQ8#R34!B$&#')-:9%?2%T)4Z1)X1;W8SL,915(%6G84
MT7V /G%/2ZZP92$>/4&G#D<2&.TH8$8$S*R/T\_M1A@O=5E/?QUFP"MS_Y:U
M??,J;_FG\[/;Q?>FG?S'NZMH?3.L(0$1[XB_B#=]S;@!3A.%6#3_7?8^\-DG
M4?F>GED+<RV"+"KQYF)HCR\Q5O-OPA*,N9ZY__&3Z^\+[\[N?*NO_2\1P<6'
M5(A23]K?]/1V3/_9$TISV@A==KQ>)Z GXTG"!,<@ZBJ+*PH[("V-9XM01HCD
ME3*Y;^EO):"G,6781RR"A:E;&E9 <66!CT>MB?^SQF>_*OXE GI]=.YT ;T^
M]%9@T3P+.SCN<. 01F-0\W3W\$"FM$Q,X^$H% Q(Y&Z"]S,&]'JIP*& 7A\^
M*M*E385A8C3VJ;A@4 Y0&P57+-XO-,/&0T4,P;G+Z]7DS1K.Y.& 7A]8*U"*
MYTX]X[GB6B(0G$O-V4P4WDD'K$)2&4NUR-XV\:?TWH_98H8S4H$ZG<2#%TT#
M(J'&P" 1 #6& 6.U!A)B+XFP5K/<J0<_N_>^EUJ]AO>^#\<5Z/F%;T/3WNB9
M]2L'P=H]K"6A1L:5SAG6*_>P@=0"Z>/"EW$<);)GR>P6I<J[P"OJR/8IG8&P
M"O3NJX^WJ8E=>+<,2OQS-EG,OW[[YZ9/IDOUPXP$>'GL)*@4PAX@Z%' W*@X
MT<S:=U"@PL=Y;3J8C[P*-#&#7Y=X03RW),XX*$ #P4 JD1XD*Z(Q"PCCW.VB
M_HXLY3!17YG[MZSM*[_QX[.?^?GBNV\OO^O9^8\TQ'SI%YY_GJW:25XY:9GC
M. "B1*1%$@Z4X!28H#34 3LJ<]_ 7FMNE5LDF74VUY(YI0+]A1;6T6C,%6(,
M>JGBABAH*OB<7--4RY1[22EAVLA039Y#[LE7;JC]'$LSKPJ.>)^^&)\.?CK,
M+IMW_GTSBQA%J*X8Y#3H: KKE 03?Z1 .0,!80H&*Z1SN%NGR%<2N+!U6&8A
M5:L1I1]-G Z3Y=WQ&3"/!4_/PZ5NK_UB78H><TPP<0J@5'R7<J& 1":]JV1$
M2::%MMV>9M0PF[(M!'[.]74B77ISN4]/?GN5Q//-+Q93[R:S]WK^/7]V4[?O
MG39_:<"<7R=#25.I16 2( 5%*E$'@28J;O-"&,*@,2JXU['&J\M0XH&S9>P&
MFN2YD=)$ S$P$(B$$ 6'\G>L^FMD*/71N=-E*/6AMX(+_+,\"H&\Q41Z0'PJ
M+!D-LWBZ>0NL<LYBJ+$DN;U7/V.&4B\5.)2AU(>/BG1I\W)'826IA$ :9>-U
M.%B@!&4 L<""$X0'FSN<55/$?CB3AS.4^L!:^@;U#SW3JR6S#)E=W+;V>UPS
M3UY+>P9%G#L"3JBX5O0R;.8YP-1CB$@J(=/M>G/T4W5HPQ 2FY,A6L&F\4Y/
M5U%][Q>_IK^="%DMF1"O6C !@PR@-O47"=H"XS'%'#$9_Y-Y^]@GR\^2US;F
M8,K"4Z7ZMEZ4QBI$X[\ 3J:*$"SH.!/,4XB56<U=G&;NMP/[I2F[7>5ANX,*
M#8"^]*'VI9FM2]3^.M$FU6R</.0C*8Z4\C#$*:0'GX9(H+0Q@ MJ,(^'%H.P
MTW%VX"/U:<80$IL3(%I:,\ZL;6^]^_AGVIO]?#VG38*0]H(;:X"#5L6)V ",
MTA)8822T@4*,7"?5./25LB?5*70C&Z85G#W/DW@]LX%9I0'W+O5F1RA5-E#
M8&D0U\XPGKO6<_]L_3>0"C7&JAG.2 7J=)(,242$YC[>1X0+Z8"W!&CB!="I
MNK6E MOL%<A_]FS]7FKU&MGZ?3BN0,\/)]XJ:RF,Q@" RO)XLF@#C#00*((A
MQ<ICG+UL^?BLZ;>5N=]+7WIE3?<AKP)-S!!!5@XRR#4&7GL931:M@.31J$5"
MBH"H#-9G#_^\3M;TZ>+V59@*K\Q]+7>9W8'GJZADQ%,L@"14 RI2+Q;*(;!0
M<!0W!1$M_%ZWF=W?J7PSS4SYKGM/!OQ+J](2(W,<1O/B2%JE6J9_I6?W*X=W
M/$O\/[Q._5_3WUNG37,J!'-!Q8L@=JE*G #*X6AL42.$MIS%TZ1[EM1)97WS
MR;J#5;HR/7C+]L31K+#?HMGEW29W^;)9Z.ECHC*D3.*0WA>XU$A+8A;MN<A@
MO)509[353+]Z/=63S/3-Y_,.66MO2+E^ZB7X^,^>>+4O],1=Q4,:8L-="M':
MQ&J\2GD5@!30<62TU$J_F?6W=YIO/MFWSL671ZTJ3N_]<[(XLXO)76H%V<P7
MJ1C?V7SN%Y_CZ3]IEYA\N[VYT>U]$[K\97/_S5^GG\;D )]<J%R)PJ^+7J9L
MXJ63Z-8N;MO)[/ILYK[Z:6K"N98MZO=#DB>!3EK#!#".QC4)5>J^J"EPQO'@
M-=*:Y39=.@N7+\=XSR>7'*W??U/A34A=!RGSJ;*P O&W D N6.BHH\1FKVS;
M7;RRU_;3:-/^E.&\;!6TB>;MXNI]/&*:Z<0MV5J>@\L8AA8(*2DY0# 53@_$
M V-Q/ LM] $)I37IU*<]?N*)KL5?/>K9_J_7DAB<F>@F*^K5Z<TZ>."Q%B:@
M +R +-X'/ .2H3@'SKD.3%G).A4J[*TY)0.!N3@]J"(# *[@PG7^P[=Q#K/K
MM5VQ2?0Q@7(7' ?">@0HCM9VM%AY_ E:Z^.L6,A=>VN/*#6IS!".F_R 5Z W
M[YOV1Q,GXK\TL_5,UA,A4BF'/ '$.AS!@1 8 PT@BKN(#!<X>\WGO<*4\>Z>
M3'?R@%Z!]GR+)*SNW;?S>,&?SS>+8;DG<V4Y#%P#:UVT R4C0&OD(T[4*LMX
MG%3V$I6'!*HEX?PT!D]^3FI0L/4M>5U&.$#%'#,@[JHZ11\"T!!Z0# VZ?SG
MGN9^O/!,@,(6<SYBMU5F,,JE@Z!Q*4U<%'VBIQ=MX^*BVIS#% <=SUJ<&J*D
M5FS< >DU TIR1HFP1N"M!*8]L<N]GRBL#<,Y:[(#6%H-SJX7WG[?/-42W$*+
M+)"*IU")5$"%>*0:&D&2PC#1L;;'TU$+GQUYR!X,4VE^O_J9_R.=C!OE9$(;
MHJ+(TA$:(1 2&*3B3PRG&LY8":@ZKN[G(Q>.;>9:U"/@*LWUYUEH]<9 \IN,
M1J$4$B2U@4[7>T0QD %!$*R(MA TW+-N+X!VC5XXI):'\]&P56#M/3.,DSF\
M-([GOKWSC_%#:3B+_[<1H9 N7L0!I;D'CCD**5%>B-QMFKK(5<N[C]->+K(S
M5('6;<SI%+=;PH2N!%<^(&6 )%BEDDX(I# O<#8NP'1#UZ*37[[/F]474E04
M[LG"]/:[U7&P5Z XSR!:U8A:)AS,W&.D-QK5=Y-YRC"X2KGW7#*8WM&EK'QK
M@'+. $@TYT83&;)7]NXG85D;]^0*=T*Z:E/&]]]3@;KY%93808_CJ8]) -0J
M B):&,3]GSC(TVO?D[SBV9*C[-GXNHHU!/J_4-I03=E"M2<)U9$;Y)BPD*D
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
MLLX9B,(IW- CI2Z[45>AV:],?;V;\X?$A'<OEO254G%VP5A@O-" 8D*!\CR
M>#5@1"@5A,D=5N\I8MDDM"K4^)2D#M?9U,&N!JOZ[*:YG2VN!$526*,!-YX!
M"IT!AEL.. Y8F#AGG'V/SB)XV22Y*O3[]16@WDC:NE[HYUEHVIOE>"-B:?L'
MRQ1-ZRAMIGC:^FM?_8^F38^SGGSVJ[_SL]O'> >+:B<)Q4#S0*,R$!]_@C#N
M@UH@;(UZ45$V5RWY#M*-S_E]&F$^#\MNA]\FU[-)F%B=1%C_>10B+<ZT@C;5
MY"^;QX=L?MWA'4$# W,!&")%*CE @=$N+F7EJ++,>)H=K,Q3J*)8>VZ]?)ET
M7([VZAIE+?W9WGNGD7:IUJT$U#L$E# .(*1"-("H(ZY3\. --E@KJ@S'F[#U
M8:8ZW5H[N[%21%,-@10TFC3>DOB34R @(0115A#:*4OC9VG"UHO3+DW8^@!<
MP=UZ7T\P;C%2 L%(:WI)RZD&2E,&B$,T4&(,"[E+EK^=)FR]..[8A*T/X!7H
MS?Y^8,%P[)%++X90ZB9G TCF 3 F*!V0$93G#GZ_I29L8W0G#^@5:,_AOE "
M.X0]4X!( P$-RS=GJ;\$#<@BSK3MUBBTSSVGWB9L-1A%^7FK00F?=3%A03,O
MH0(\)%^/L!&6P .0%C.*A%7RK]NHK1>Q!QNU]4&Y=%>?KX]]QM:[+$+,$4@T
M\-3@N,L*'O?N@ ""2G/%I62T:PNGK:&KN.L/X6A/8[8!@)6F^WFG,8DAQ\$"
M(5-M?8(QT%0J(.)28!IC3D2WJHZU-F0;3/)@F$KS^Z+#6""861?M+T&LB[N:
MMT +H8$3!FKG,)?;Y5_?8$.V$8MY!%REN=[960QQ&[ V%BB5ND-J@B,*&@/(
M7=!82D5MM_::M3=D&\SY:-A*\_YU;VM0E>H-N_3@EL?+%H70 6V4 /'J10+W
M,E[$=-^C>T!O55:Y!N0!L![C_B%\<>36].M#S->J:*NX$(!-2DZ926^T)0)>
MQ-EK I7/[KX8*FOI4D85W4M?@^T*M'J3);.::()M@^B5QX80J#6 *7N1*JJ
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
M   F$0  %               @ &Y#P  <3$R,#(U97AH:6)I=#,R,2YH=&U0
M2P$"% ,4    " !E0)Y:QO9 I\H$   /$0  %               @ '*%
M<3$R,#(U97AH:6)I=#,R,BYH=&U02P$"% ,4    " !E0)Y:HZ20CKSC  "(
M?@T $0              @ '&&0  <F]C:RTR,#(U,#,S,2YH=&U02P$"% ,4
M    " !E0)Y:K#&N9+8.  #GFP  $0              @ &Q_0  <F]C:RTR
M,#(U,#,S,2YX<V102P$"% ,4    " !E0)Y:ILGN%S<3  !!L0  %0
M        @ &6# $ <F]C:RTR,#(U,#,S,5]C86PN>&UL4$L! A0#%     @
M94">6O:!]0TO.@  'IX" !4              ( ! " ! ')O8VLM,C R-3 S
M,S%?9&5F+GAM;%!+ 0(4 Q0    ( &5 GEJIM]#;Q-D! '5  @ 4
M      "  6): 0!R;V-K+3(P,C4P,S,Q7V<Q+FIP9U!+ 0(4 Q0    ( &5
MGEH#R%,_#<<  'G"!P 5              "  5@T P!R;V-K+3(P,C4P,S,Q
M7VQA8BYX;6Q02P$"% ,4    " !E0)Y:(('7>7YV   XA04 %0
M    @ &8^P, <F]C:RTR,#(U,#,S,5]P<F4N>&UL4$L%!@     +  L U (
' $ER!     $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>rock-20250331_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/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rock="http://www.gibraltar1.com/20250331"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="rock-20250331.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2025-04-28</instant>
        </period>
    </context>
    <context id="c-3">
        <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-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2024-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>2024-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>2024-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>2024-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>2024-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>2024-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>2025-01-01</startDate>
            <endDate>2025-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>2025-01-01</startDate>
            <endDate>2025-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>2025-01-01</startDate>
            <endDate>2025-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>2025-01-01</startDate>
            <endDate>2025-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>2025-01-01</startDate>
            <endDate>2025-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>2025-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>2025-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>2025-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>2025-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>2025-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>2023-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>2023-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>2023-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>2023-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>2023-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>2024-01-01</startDate>
            <endDate>2024-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>2024-01-01</startDate>
            <endDate>2024-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>2024-01-01</startDate>
            <endDate>2024-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>2024-01-01</startDate>
            <endDate>2024-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>2024-01-01</startDate>
            <endDate>2024-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>2024-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>2024-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>2024-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>2024-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>2024-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-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2025-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:LaneSupplyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-11</startDate>
            <endDate>2025-02-11</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:TwoPrivatelyHeldBusinessesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-02-11</instant>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-11</startDate>
            <endDate>2025-02-11</endDate>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-11</startDate>
            <endDate>2025-02-11</endDate>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-11</startDate>
            <endDate>2025-02-11</endDate>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:BusinessAcquisitionAxis">rock:TwoMetalRoofingBusinessesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:BusinessAcquisitionAxis">rock:A2025AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:BusinessAcquisitionAxis">rock:LaneSupplyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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-12-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-12-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:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-55">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-56">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-57">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-58">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-59">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-60">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-61">
        <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>2025-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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-63">
        <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>2025-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:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-65">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rock:BacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-68">
        <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>2025-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:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-70">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-71">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-72">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-73">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-74">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-75">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-76">
        <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-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </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:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-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:StandbyLettersOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-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: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-82">
        <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-83">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-84">
        <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-85">
        <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-86">
        <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-87">
        <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-88">
        <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-89">
        <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-90">
        <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-91">
        <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-92">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-93">
        <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-94">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </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>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-97">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-98">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-99">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-102">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap: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-104">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-105">
        <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-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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-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:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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: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-110">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-111">
        <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-112">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-113">
        <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-114">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-115">
        <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-116">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-117">
        <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-118">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-119">
        <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-120">
        <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>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-121">
        <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-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:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </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>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </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:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </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>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-126">
        <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>2025-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:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-128">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-129">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-130">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-131">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-132">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-133">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-134">
        <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>2025-03-31</instant>
        </period>
    </context>
    <context id="c-135">
        <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-12-31</instant>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-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:ResidentialMember</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-148">
        <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-149">
        <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-150">
        <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-151">
        <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-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-153">
        <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-154">
        <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-155">
        <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-156">
        <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-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-158">
        <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-159">
        <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-160">
        <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-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ShareRepurchaseProgramAxis">rock:NewShareRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-04-28</instant>
        </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">2025</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">2025-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">29490360</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-31" unitRef="usd">290015000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-3" decimals="-3" id="f-32" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-33" unitRef="usd">212315000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-3" decimals="-3" id="f-34" unitRef="usd">208118000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-35" unitRef="usd">77700000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-3" decimals="-3" id="f-36" unitRef="usd">84388000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-37" unitRef="usd">52190000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-3" decimals="-3" id="f-38" unitRef="usd">52652000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-39" unitRef="usd">25510000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-3" decimals="-3" id="f-40" unitRef="usd">31736000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-1" decimals="-3" id="f-41" unitRef="usd">1637000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-3" decimals="-3" id="f-42" unitRef="usd">750000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-43" unitRef="usd">-94000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-3" decimals="-3" id="f-44" unitRef="usd">1021000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-45" unitRef="usd">27053000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-46" unitRef="usd">33507000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-47" unitRef="usd">5934000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-3" decimals="-3" id="f-48" unitRef="usd">8561000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-49" unitRef="usd">21119000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-50" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-1"
      decimals="2"
      id="f-51"
      unitRef="usdPerShare">0.70</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-3"
      decimals="2"
      id="f-52"
      unitRef="usdPerShare">0.82</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-1"
      decimals="2"
      id="f-53"
      unitRef="usdPerShare">0.69</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-3"
      decimals="2"
      id="f-54"
      unitRef="usdPerShare">0.81</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-55" unitRef="shares">30252000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-3" decimals="-3" id="f-56" unitRef="shares">30572000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-57" unitRef="shares">30474000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-3" decimals="-3" id="f-58" unitRef="shares">30793000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-59" unitRef="usd">21119000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-60" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-61" unitRef="usd">49000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-3" decimals="-3" id="f-62" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-63" unitRef="usd">21168000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-3" decimals="-3" id="f-64" unitRef="usd">23982000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-65" unitRef="usd">25114000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-66" unitRef="usd">269480000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-67" unitRef="usd">2805000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-68" unitRef="usd">3394000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-69" unitRef="usd">195192000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-70" unitRef="usd">169350000</us-gaap:AccountsReceivableNetCurrent>
    <rock:CostsInExcessOfBillingsNet contextRef="c-4" decimals="-3" id="f-71" unitRef="usd">-41648000</rock:CostsInExcessOfBillingsNet>
    <rock:CostsInExcessOfBillingsNet contextRef="c-5" decimals="-3" id="f-72" unitRef="usd">-34570000</rock:CostsInExcessOfBillingsNet>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-73" unitRef="usd">170304000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-74" unitRef="usd">138140000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-75" unitRef="usd">41228000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-76" unitRef="usd">39792000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-77" unitRef="usd">473486000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-78" unitRef="usd">651332000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-79" unitRef="usd">128671000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-80" unitRef="usd">109820000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-81" unitRef="usd">56712000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-82" unitRef="usd">45021000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-83" unitRef="usd">594620000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-84" unitRef="usd">507419000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-85" unitRef="usd">181690000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-86" unitRef="usd">103882000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-87" unitRef="usd">4239000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-88" unitRef="usd">1936000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-89" unitRef="usd">1439418000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-90" unitRef="usd">1419410000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-91" unitRef="usd">137970000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-92" unitRef="usd">117408000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-93" unitRef="usd">98428000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-94" unitRef="usd">95664000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-95" unitRef="usd">40230000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-96" unitRef="usd">41790000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-97" unitRef="usd">276628000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-98" unitRef="usd">254862000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-4" decimals="-3" id="f-99" unitRef="usd">75505000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-5" decimals="-3" id="f-100" unitRef="usd">56655000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-101" unitRef="usd">46317000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-102" unitRef="usd">35125000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-103" unitRef="usd">31630000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-104" unitRef="usd">24734000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-105"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-106"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-107" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-108" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-5" decimals="INF" id="f-109" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-110" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="c-4" decimals="-3" id="f-111" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-5" decimals="-3" id="f-112" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-113"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-114"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-115" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-116" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="-3" id="f-117" unitRef="shares">34401000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-5" decimals="-3" id="f-118" unitRef="shares">34401000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-5" decimals="-3" id="f-119" unitRef="shares">34313000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="-3" id="f-120" unitRef="shares">34313000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-121" unitRef="usd">344000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-5" decimals="-3" id="f-122" unitRef="usd">343000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-123" unitRef="usd">346653000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-5" decimals="-3" id="f-124" unitRef="usd">343583000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-125" unitRef="usd">896970000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-126" unitRef="usd">875851000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-127" unitRef="usd">-5277000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-128" unitRef="usd">-5326000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockCommonShares contextRef="c-4" decimals="-3" id="f-129" unitRef="shares">4911000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c-5" decimals="-3" id="f-130" unitRef="shares">3960000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue contextRef="c-4" decimals="-3" id="f-131" unitRef="usd">229352000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="c-5" decimals="-3" id="f-132" unitRef="usd">166417000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-133" unitRef="usd">1009338000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-134" unitRef="usd">1048034000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-135" unitRef="usd">1439418000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-136" unitRef="usd">1419410000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-137" unitRef="usd">21119000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-138" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-139" unitRef="usd">9086000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-3" decimals="-3" id="f-140" unitRef="usd">6663000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-141" unitRef="usd">3071000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-3" decimals="-3" id="f-142" unitRef="usd">2639000</us-gaap:ShareBasedCompensation>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement contextRef="c-1" decimals="-3" id="f-143" unitRef="usd">244000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement contextRef="c-3" decimals="-3" id="f-144" unitRef="usd">1619000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-145" unitRef="usd">7362000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-3" decimals="-3" id="f-146" unitRef="usd">6950000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-1" decimals="-3" id="f-147" unitRef="usd">12347000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-3" decimals="-3" id="f-148" unitRef="usd">17231000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-1" decimals="-3" id="f-149" unitRef="usd">-2492000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-3" decimals="-3" id="f-150" unitRef="usd">-453000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-151" unitRef="usd">12416000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-3" decimals="-3" id="f-152" unitRef="usd">35455000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-1" decimals="-3" id="f-153" unitRef="usd">-15035000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-3" decimals="-3" id="f-154" unitRef="usd">5587000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-155" unitRef="usd">13684000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-3" decimals="-3" id="f-156" unitRef="usd">53181000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-157" unitRef="usd">11431000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-3" decimals="-3" id="f-158" unitRef="usd">4366000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-1" decimals="-3" id="f-159" unitRef="usd">184585000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-3" decimals="-3" id="f-160" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested contextRef="c-1" decimals="-3" id="f-161" unitRef="usd">352000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested contextRef="c-3" decimals="-3" id="f-162" unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-163" unitRef="usd">-195664000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-3" decimals="-3" id="f-164" unitRef="usd">-4366000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-165" unitRef="usd">62394000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-3" decimals="-3" id="f-166" unitRef="usd">1434000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-167" unitRef="usd">-62394000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-3" decimals="-3" id="f-168" unitRef="usd">-1434000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-1" decimals="-3" id="f-169" unitRef="usd">8000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-3" decimals="-3" id="f-170" unitRef="usd">-142000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-171" unitRef="usd">-244366000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-3" decimals="-3" id="f-172" unitRef="usd">47239000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-173" unitRef="usd">269480000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-6" decimals="-3" id="f-174" unitRef="usd">99426000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-175" unitRef="usd">25114000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-7" decimals="-3" id="f-176" unitRef="usd">146665000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-8" decimals="-3" id="f-177" unitRef="shares">34313000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-178" unitRef="usd">343000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-179" unitRef="usd">343583000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-180" unitRef="usd">875851000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-181" unitRef="usd">-5326000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-12" decimals="-3" id="f-182" unitRef="shares">3960000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-183" unitRef="usd">-166417000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-184" unitRef="usd">1048034000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-13" decimals="-3" id="f-185" unitRef="usd">21119000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-186" unitRef="usd">21119000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-14" decimals="-3" id="f-187" unitRef="usd">49000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-188" unitRef="usd">49000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-15" decimals="-3" id="f-189" unitRef="usd">3071000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-190" unitRef="usd">3071000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-16" decimals="-3" id="f-191" unitRef="shares">88000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-16" decimals="-3" id="f-192" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-15" decimals="-3" id="f-193" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-17" decimals="-3" id="f-194" unitRef="shares">36000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-17" decimals="-3" id="f-195" unitRef="usd">-2369000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-1" decimals="-3" id="f-196" unitRef="usd">-2369000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod contextRef="c-17" decimals="-3" id="f-197" unitRef="usd">566000</rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod>
    <rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod contextRef="c-1" decimals="-3" id="f-198" unitRef="usd">566000</rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-17" decimals="-3" id="f-199" unitRef="shares">915000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-17" decimals="-3" id="f-200" unitRef="usd">60000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-1" decimals="-3" id="f-201" unitRef="usd">60000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-18" decimals="-3" id="f-202" unitRef="shares">34401000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-18" decimals="-3" id="f-203" unitRef="usd">344000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-19" decimals="-3" id="f-204" unitRef="usd">346653000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-205" unitRef="usd">896970000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-206" unitRef="usd">-5277000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-22" decimals="-3" id="f-207" unitRef="shares">4911000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-208" unitRef="usd">-229352000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-209" unitRef="usd">1009338000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-23" decimals="-3" id="f-210" unitRef="shares">34219000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-211" unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-212" unitRef="usd">332621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-213" unitRef="usd">738511000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-26" decimals="-3" id="f-214" unitRef="usd">-2114000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-27" decimals="-3" id="f-215" unitRef="shares">3778000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-27" decimals="-3" id="f-216" unitRef="usd">-154362000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-6" decimals="-3" id="f-217" unitRef="usd">914998000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-28" decimals="-3" id="f-218" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="-3" id="f-219" unitRef="usd">24946000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-29" decimals="-3" id="f-220" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-3" decimals="-3" id="f-221" unitRef="usd">-964000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-30" decimals="-3" id="f-222" unitRef="usd">2639000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-3" decimals="-3" id="f-223" unitRef="usd">2639000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-31" decimals="-3" id="f-224" unitRef="shares">47000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-31" decimals="-3" id="f-225" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-30" decimals="-3" id="f-226" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures contextRef="c-32" decimals="-3" id="f-227" unitRef="shares">19000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-32" decimals="-3" id="f-228" unitRef="usd">-1434000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-3" decimals="-3" id="f-229" unitRef="usd">-1434000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-33" decimals="-3" id="f-230" unitRef="shares">34266000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-231" unitRef="usd">343000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-232" unitRef="usd">335259000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-233" unitRef="usd">763457000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-234" unitRef="usd">-3078000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares contextRef="c-37" decimals="-3" id="f-235" unitRef="shares">3797000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-236" unitRef="usd">-155796000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-7" decimals="-3" id="f-237" unitRef="usd">940185000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c-1" id="f-238">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, 2024.&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, 2024&#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 2025, 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, 2024.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-239">&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 2025, 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, 2024.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c-1" id="f-240">TRADE RECEIVABLES, NET&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 a roll-forward of the allowance for credit losses for the three month period ended March&#160;31, 2025 that is deducted from the amortized cost basis of trade receivables to present the net amount expected to be collected (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: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, 2025&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;3,394&#160;&lt;/span&gt;&lt;/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;124&#160;&lt;/span&gt;&lt;/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;(713)&lt;/span&gt;&lt;/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, 2025&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;2,805&#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-241">&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 a roll-forward of the allowance for credit losses for the three month period ended March&#160;31, 2025 that is deducted from the amortized cost basis of trade receivables to present the net amount expected to be collected (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: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, 2025&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;3,394&#160;&lt;/span&gt;&lt;/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;124&#160;&lt;/span&gt;&lt;/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;(713)&lt;/span&gt;&lt;/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, 2025&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;2,805&#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:AllowanceForDoubtfulAccountsReceivable contextRef="c-5" decimals="-3" id="f-242" unitRef="usd">3394000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-243" unitRef="usd">124000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-1" decimals="-3" id="f-244" unitRef="usd">713000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-4" decimals="-3" id="f-245" unitRef="usd">2805000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-246">REVENUE&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;Sales includes revenue from contracts with customers for roof and foundation ventilation products, single point and centralized mail systems, trims, flashings, metal roofing, rain dispersion products and other accessories, retractable awnings and gutter guards; designing, engineering, manufacturing and installation of controlled environmental agriculture, custom greenhouses and structural canopies; designing, engineering, manufacturing and installation of solar racking and electrical balance of systems; 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 disclosures related to disaggregation of revenue.&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, 2025, 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;For the three months ended March&#160;31, 2025 and 2024, respectively, there were no changes to estimated total costs to be incurred related to any individual contract that materially impacted the Company's consolidated 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%"&gt;Contract assets consist of net costs in excess of billings, classified as current assets in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  Unearned revenue as of March&#160;31, 2025 and December 31, 2024 was $2.1&#160;million and $3.1&#160;million, respectively.  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;recognized revenue of $26.2&#160;million and $27.7&#160;million during the three months ended March&#160;31, 2025 and 2024, respectively, that was included in the contract liabilities balance of $44.8&#160;million and $48.7&#160;million at December 31, 2024 and 2023, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-38" id="f-247">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue contextRef="c-4" decimals="-5" id="f-248" unitRef="usd">2100000</rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue>
    <rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue contextRef="c-5" decimals="-5" id="f-249" unitRef="usd">3100000</rock:ContractWithCustomerLiabilityCurrentUnearnedRevenue>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized contextRef="c-1" decimals="-5" id="f-250" unitRef="usd">26200000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized contextRef="c-3" decimals="-5" id="f-251" unitRef="usd">27700000</rock:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability contextRef="c-5" decimals="-5" id="f-252" unitRef="usd">44800000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-6" decimals="-5" id="f-253" unitRef="usd">48700000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c-1" id="f-254">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, net of reserves, 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, 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;December 31, 2024&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;104,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;78,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;20,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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: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;45,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,057&#160;&lt;/span&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;170,304&#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;138,140&#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:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c-1" id="f-255">&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, net of reserves, 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, 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;December 31, 2024&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;104,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;78,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;20,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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: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;45,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,057&#160;&lt;/span&gt;&lt;/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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;170,304&#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;138,140&#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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-4" decimals="-3" id="f-256" unitRef="usd">104571000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="c-5" decimals="-3" id="f-257" unitRef="usd">78888000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-4" decimals="-3" id="f-258" unitRef="usd">20620000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c-5" decimals="-3" id="f-259" unitRef="usd">18195000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-4" decimals="-3" id="f-260" unitRef="usd">45113000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c-5" decimals="-3" id="f-261" unitRef="usd">41057000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet contextRef="c-4" decimals="-3" id="f-262" unitRef="usd">170304000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-5" decimals="-3" id="f-263" unitRef="usd">138140000</us-gaap:InventoryNet>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="c-1" id="f-264">ACQUISITIONS&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;During the quarter ended March 31, 2025, the Company acquired three businesses in separate transactions all of which were funded with cash on hand. One acquired business is included within the Company's Agtech segment and the other acquired businesses are included in the Company's Residential 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;On February 11, 2025, the Company purchased all the outstanding stock of Lane Supply, Inc. ("Lane Supply"), a privately held company that designs, manufactures and installs structural canopies serving the convenience store, travel center, food retail, and quick serve restaurant markets. The results of Lane Supply have been included in the Company's consolidated financial results since the date of acquisition within the Company's Agtech segment. The preliminary purchase consideration for this acquisition was $117.1&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the stock 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;On March 31, 2025, the Company acquired two privately held businesses within its Residential segment that primarily specialize in the manufacturing of metal roofing systems, along with metal wall panels, siding and trim products. The Company purchased all the outstanding stock of one of the businesses and substantially all of the assets for the other business for a combined preliminary purchase consideration of $90.2&#160;million, which includes preliminary working capital adjustments and certain other adjustments provided for in the purchase agreements.&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 these acquisitions were preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisitions.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisitions. Goodwill recognized in these acquisitions are primarily attributable to factors such as future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in domestic agtech structures and metal roofing markets, respectively. Due to the timing of these acquisitions, we continue to gather information supporting the acquired assets and assumed liabilities. Accordingly, all amounts recorded are provisional. These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition dates that, if known, would have affected the measurement of the amounts recognized as of that date. The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to one year from the date of acquisitions. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant and equipment and acquired intangible assets.  &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;For the acquisition of Lane Supply, the preliminary excess consideration was recorded as goodwill and approximated $38.2&#160;million, none of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.&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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,108&#160;&lt;/span&gt;&lt;/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;6,707&#160;&lt;/span&gt;&lt;/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;67,100&#160;&lt;/span&gt;&lt;/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;671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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;(19,176)&lt;/span&gt;&lt;/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;38,245&#160;&lt;/span&gt;&lt;/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;117,122&#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;6,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;20 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;55,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;15 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;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;Less than 1 year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'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 #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;67,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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;For the acquisition of the two metal roofing businesses, the preliminary excess consideration was recorded as goodwill and approximated $48.9&#160;million, all of which is deductible for tax purposes. The final purchase price allocation will be completed no later than the first quarter of fiscal year 2026.&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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisitions (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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,299&#160;&lt;/span&gt;&lt;/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;5,272&#160;&lt;/span&gt;&lt;/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;15,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;/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;4,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,524)&lt;/span&gt;&lt;/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;48,912&#160;&lt;/span&gt;&lt;/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;90,168&#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 these acquisitions 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;4,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 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;11,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;10 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;15,300&#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 Company recognized costs related to recent acquisitions comprised of legal and consulting fees within selling, general, and administrative expense of $2.6&#160;million for the three months ended March 31, 2025. No acquisition costs were incurred in the three months ended March 31, 2024.&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;Pro Forma Information (Unaudited)&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 results of Lane Supply (from January 1, 2025 through February 10, 2025) and the two privately held businesses (from January 1, 2025 and March 31, 2025) have not been included in the Company's consolidated statements of income as the Company acquired Lane Supply on February 11, 2025 and the two privately held businesses on March 31, 2025.&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 unaudited pro forma financial information represents a summary of the consolidated results of operations of the Company for the three months ended March 31, 2025 and 2024, assuming these acquisitions had been completed on January 1, 2024 (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.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="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;/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;2025&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;2024&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;313,079&#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:top"&gt;&lt;/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;329,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;Income from operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;27,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&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;These pro forma amounts have been compiled by adding the historical results of these businesses to the results of the Company after applying accounting policies and pro forma adjustments primarily for amortization that would have been charged assuming the preliminary fair value adjustments to intangible assets had been applied from January 1, 2024.&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 pro forma financial information is not necessarily indicative of the results of operations that would have been achieved if the acquisitions had been effective as of these dates, or of future results.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-39" decimals="-5" id="f-265" unitRef="usd">117100000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-40" decimals="-5" id="f-266" unitRef="usd">90200000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Goodwill contextRef="c-41" decimals="-5" id="f-267" unitRef="usd">38200000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="c-1" id="f-268">&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 preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,108&#160;&lt;/span&gt;&lt;/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;6,707&#160;&lt;/span&gt;&lt;/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;67,100&#160;&lt;/span&gt;&lt;/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;671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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;(19,176)&lt;/span&gt;&lt;/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;38,245&#160;&lt;/span&gt;&lt;/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;117,122&#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;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisitions (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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,299&#160;&lt;/span&gt;&lt;/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;5,272&#160;&lt;/span&gt;&lt;/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;15,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;/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;4,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,524)&lt;/span&gt;&lt;/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;48,912&#160;&lt;/span&gt;&lt;/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;90,168&#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>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="c-41" decimals="-3" id="f-269" unitRef="usd">1467000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital contextRef="c-41" decimals="-3" id="f-270" unitRef="usd">22108000</rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="c-41" decimals="-3" id="f-271" unitRef="usd">6707000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="c-41" decimals="-3" id="f-272" unitRef="usd">67100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="c-41" decimals="-3" id="f-273" unitRef="usd">671000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther contextRef="c-41" decimals="-3" id="f-274" unitRef="usd">19176000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:Goodwill contextRef="c-41" decimals="-3" id="f-275" unitRef="usd">38245000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-41" decimals="-3" id="f-276" unitRef="usd">117122000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock contextRef="c-1" id="f-277">&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;6,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;20 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;55,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;15 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;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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;Less than 1 year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'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 #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;67,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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 these acquisitions 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;4,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 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;11,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-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;10 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;15,300&#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-42" decimals="-3" id="f-278" unitRef="usd">6800000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-42" id="f-279">P20Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-43" decimals="-3" id="f-280" unitRef="usd">55000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-43" id="f-281">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-44" decimals="-3" id="f-282" unitRef="usd">5300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-39" decimals="-3" id="f-283" unitRef="usd">67100000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:Goodwill contextRef="c-45" decimals="-5" id="f-284" unitRef="usd">48900000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="c-45" decimals="-3" id="f-285" unitRef="usd">4407000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital contextRef="c-45" decimals="-3" id="f-286" unitRef="usd">13299000</rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="c-45" decimals="-3" id="f-287" unitRef="usd">5272000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="c-45" decimals="-3" id="f-288" unitRef="usd">15300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="c-45" decimals="-3" id="f-289" unitRef="usd">4502000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther contextRef="c-45" decimals="-3" id="f-290" unitRef="usd">1524000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:Goodwill contextRef="c-45" decimals="-3" id="f-291" unitRef="usd">48912000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-45" decimals="-3" id="f-292" unitRef="usd">90168000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-46" decimals="-3" id="f-293" unitRef="usd">4300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-46" id="f-294">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-47" decimals="-3" id="f-295" unitRef="usd">11000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-47" id="f-296">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-48" decimals="-3" id="f-297" unitRef="usd">15300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-49" decimals="-3" id="f-298" unitRef="usd">2600000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="c-1" id="f-299">&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 unaudited pro forma financial information represents a summary of the consolidated results of operations of the Company for the three months ended March 31, 2025 and 2024, assuming these acquisitions had been completed on January 1, 2024 (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.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="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;/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;2025&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;2024&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;313,079&#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:top"&gt;&lt;/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;329,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;Income from operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;27,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="c-50" decimals="-3" id="f-300" unitRef="usd">313079000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="c-51" decimals="-3" id="f-301" unitRef="usd">329981000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="c-50" decimals="-3" id="f-302" unitRef="usd">27736000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="c-51" decimals="-3" id="f-303" unitRef="usd">31941000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-304">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, 2025 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width: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.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.625%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height: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:9pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;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:9pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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, 2024&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;209,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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;82,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;507,419&#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="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;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;87,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;44&#160;&lt;/span&gt;&lt;/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, 2025&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;258,082&#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;120,630&#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;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;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;594,620&#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, 2025 and December 31, 2024.&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, 2025 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, 2025&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, 2024&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;40,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&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;40,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&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;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;213,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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;253,735&#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;72,045&#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;173,048&#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;69,166&#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="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 (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:67.759%"&gt;&lt;/td&gt;&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.107%"&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="border-bottom: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;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;2025&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;2024&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;4,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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 2025 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:36.088%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.824%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.715%"&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;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;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2030&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;16,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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-305">&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, 2025 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width: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.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.625%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height: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:9pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;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:9pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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, 2024&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;209,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;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;82,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;507,419&#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="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;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;87,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;44&#160;&lt;/span&gt;&lt;/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, 2025&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;258,082&#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;120,630&#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;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;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;594,620&#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-52" decimals="-3" id="f-306" unitRef="usd">209170000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-53" decimals="-3" id="f-307" unitRef="usd">82341000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-54" decimals="-3" id="f-308" unitRef="usd">184230000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-55" decimals="-3" id="f-309" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-310" unitRef="usd">507419000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-56" decimals="-3" id="f-311" unitRef="usd">48912000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-57" decimals="-3" id="f-312" unitRef="usd">38245000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-58" decimals="-3" id="f-313" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-59" decimals="-3" id="f-314" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-1" decimals="-3" id="f-315" unitRef="usd">87157000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-56" decimals="-3" id="f-316" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-57" decimals="-3" id="f-317" unitRef="usd">44000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-58" decimals="-3" id="f-318" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-59" decimals="-3" id="f-319" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-320" unitRef="usd">44000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-60" decimals="-3" id="f-321" unitRef="usd">258082000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-61" decimals="-3" id="f-322" unitRef="usd">120630000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-62" decimals="-3" id="f-323" unitRef="usd">184230000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-63" decimals="-3" id="f-324" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-325" unitRef="usd">594620000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-5" decimals="-5" id="f-326" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-4" decimals="-5" id="f-327" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="c-1" id="f-328">&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, 2025&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, 2024&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;40,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&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;40,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&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;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;213,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #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;253,735&#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;72,045&#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;173,048&#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;69,166&#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="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-64" decimals="-3" id="f-329" unitRef="usd">40400000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-64" decimals="-3" id="f-330" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-65" decimals="-3" id="f-331" unitRef="usd">40400000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-65" decimals="-3" id="f-332" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-66" decimals="-3" id="f-333" unitRef="usd">5300000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-66" decimals="-3" id="f-334" unitRef="usd">1419000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-67" decimals="-3" id="f-335" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-67" decimals="-3" id="f-336" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-68" decimals="-3" id="f-337" unitRef="usd">13350000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-68" decimals="-3" id="f-338" unitRef="usd">1475000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-69" decimals="-3" id="f-339" unitRef="usd">2550000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-69" decimals="-3" id="f-340" unitRef="usd">1773000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-70" decimals="-3" id="f-341" unitRef="usd">29217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-70" decimals="-3" id="f-342" unitRef="usd">22618000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-71" decimals="-3" id="f-343" unitRef="usd">30329000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-71" decimals="-3" id="f-344" unitRef="usd">23199000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-72" decimals="-3" id="f-345" unitRef="usd">164968000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-72" decimals="-3" id="f-346" unitRef="usd">46083000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-73" decimals="-3" id="f-347" unitRef="usd">99060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-73" decimals="-3" id="f-348" unitRef="usd">43560000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-74" decimals="-3" id="f-349" unitRef="usd">500000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-74" decimals="-3" id="f-350" unitRef="usd">450000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-75" decimals="-3" id="f-351" unitRef="usd">709000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-75" decimals="-3" id="f-352" unitRef="usd">634000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-353" unitRef="usd">213335000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-354" unitRef="usd">72045000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-5" decimals="-3" id="f-355" unitRef="usd">132648000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-356" unitRef="usd">69166000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-4" decimals="-3" id="f-357" unitRef="usd">253735000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-358" unitRef="usd">72045000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-5" decimals="-3" id="f-359" unitRef="usd">173048000</rock:AcquiredIntangibleAssetsTotal>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-360" unitRef="usd">69166000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:ScheduleOfAcquiredIntangibleAssetAmortizationExpenseTableTextBlock contextRef="c-1" id="f-361">&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 (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:67.759%"&gt;&lt;/td&gt;&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.107%"&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="border-bottom: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;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;2025&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;2024&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;4,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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-362" unitRef="usd">4598000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-3" decimals="-3" id="f-363" unitRef="usd">2718000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-364">&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 2025 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:36.088%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;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:8.709%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.824%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.715%"&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;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;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2030&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;16,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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-365" unitRef="usd">16087000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-4" decimals="-3" id="f-366" unitRef="usd">15252000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-4" decimals="-3" id="f-367" unitRef="usd">13967000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-4" decimals="-3" id="f-368" unitRef="usd">13203000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-4" decimals="-3" id="f-369" unitRef="usd">13154000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c-4" decimals="-3" id="f-370" unitRef="usd">11623000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:LongTermDebtTextBlock contextRef="c-1" id="f-371">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, 2025 and December 31, 2024.&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 following table sets forth the Company's availability on the revolving credit facility as of (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: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, 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;December 31, 2024&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 revolving credit facility&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: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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;400,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-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;$&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:120%"&gt;400,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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: standby letters of credit issued to third parties&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:120%"&gt;(4,931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4,931)&lt;/span&gt;&lt;/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;Availability on revolving credit facility&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;395,069&#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;395,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top: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 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, 2025, 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. The Credit Agreement includes an applicable margin which 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, &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;which 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;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt contextRef="c-4" decimals="-5" id="f-372" unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-5" decimals="-5" id="f-373" unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-76" decimals="-6" id="f-374" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock contextRef="c-1" id="f-375">The following table sets forth the Company's availability on the revolving credit facility as of (in thousands):&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: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, 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;December 31, 2024&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 revolving credit facility&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: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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;400,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-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;$&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:120%"&gt;400,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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: standby letters of credit issued to third parties&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:120%"&gt;(4,931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4,931)&lt;/span&gt;&lt;/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;Availability on revolving credit facility&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;395,069&#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;395,069&#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:ScheduleOfLineOfCreditFacilitiesTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-77" decimals="-3" id="f-376" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-78" decimals="-3" id="f-377" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-79" decimals="-3" id="f-378" unitRef="usd">4931000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-80" decimals="-3" id="f-379" unitRef="usd">4931000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-77" decimals="-3" id="f-380" unitRef="usd">395069000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-78" decimals="-3" id="f-381" unitRef="usd">395069000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-76" decimals="-6" id="f-382" unitRef="usd">700000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-81" decimals="INF" id="f-383" unitRef="usd">300000000</us-gaap:DebtInstrumentFaceAmount>
    <rock:DebtInstrumentNumberOfDebtCovenants
      contextRef="c-82"
      decimals="INF"
      id="f-384"
      unitRef="debtcovenant">2</rock:DebtInstrumentNumberOfDebtCovenants>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c-83"
      decimals="INF"
      id="f-385"
      unitRef="number">0</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-84" decimals="5" id="f-386" unitRef="number">0.00125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-85" decimals="2" id="f-387" unitRef="number">0.0100</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-86"
      decimals="INF"
      id="f-388"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-87"
      decimals="INF"
      id="f-389"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="c-88"
      decimals="INF"
      id="f-390"
      unitRef="number">0.0020</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="c-89"
      decimals="INF"
      id="f-391"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-392">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;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, 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 (the "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;2025&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;/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&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) (2)&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;81,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;64.79&#160;&lt;/span&gt;&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;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;/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;50,741&#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;64.91&#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;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;/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;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;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.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:18pt;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;(2)&#160;&#160;&#160;&#160;The PSUs granted in 2024, based on the Company's return on invested capital ("ROIC") for the performance period ended December 31, 2024, earned 45.0% of the targeted PSUs awarded.  Therefore, 26,363 units will convert to shares and be issued in 2027.  &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 represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a 200-day average of the Company&#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, 2025 were $22.9 million, of which $4.2&#160;million was included in current accrued expenses and $18.7 million was included in non-current liabilities. Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2024 were $23.7 million, of which $3.2&#160;million was included in current accrued expenses and $20.5 million was included in non-current liabilities. The value of the restricted stock units within the MSPP liabilities was $17.0&#160;million and $18.1&#160;million at March&#160;31, 2025 and December&#160;31, 2024, 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:&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.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="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;/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;2025&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;2024&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;18,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;1,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-90"
      decimals="INF"
      id="f-393"
      unitRef="shares">1631707</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-91"
      decimals="INF"
      id="f-394"
      unitRef="shares">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock contextRef="c-1" id="f-395">&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;2025&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;/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&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) (2)&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;81,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;64.79&#160;&lt;/span&gt;&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;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;/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;50,741&#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;64.91&#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;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;/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;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;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.&lt;/span&gt;&lt;/div&gt;(2)&#160;&#160;&#160;&#160;The PSUs granted in 2024, based on the Company's return on invested capital ("ROIC") for the performance period ended December 31, 2024, earned 45.0% of the targeted PSUs awarded.  Therefore, 26,363 units will convert to shares and be issued in 2027.</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-92"
      decimals="INF"
      id="f-396"
      unitRef="shares">81940</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-92"
      decimals="2"
      id="f-397"
      unitRef="usdPerShare">64.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-93"
      decimals="INF"
      id="f-398"
      unitRef="shares">58582</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-93"
      decimals="2"
      id="f-399"
      unitRef="usdPerShare">77.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-94"
      decimals="INF"
      id="f-400"
      unitRef="shares">50741</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-94"
      decimals="2"
      id="f-401"
      unitRef="usdPerShare">64.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-95"
      decimals="INF"
      id="f-402"
      unitRef="shares">29671</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-95"
      decimals="2"
      id="f-403"
      unitRef="usdPerShare">77.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount contextRef="c-3" decimals="3" id="f-404" unitRef="number">0.450</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsUnitsToBeConvertedPercentageOfTargetAmount>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted contextRef="c-3" decimals="0" id="f-405" unitRef="shares">26363</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeConverted>
    <rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod contextRef="c-96" id="f-406">P200D</rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod>
    <rock:AccruedEquityBasedCompensation contextRef="c-4" decimals="-5" id="f-407" unitRef="usd">22900000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-97" decimals="-5" id="f-408" unitRef="usd">4200000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-98" decimals="-5" id="f-409" unitRef="usd">18700000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-5" decimals="-5" id="f-410" unitRef="usd">23700000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-99" decimals="-5" id="f-411" unitRef="usd">3200000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-100" decimals="-5" id="f-412" unitRef="usd">20500000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-101" decimals="-5" id="f-413" unitRef="usd">17000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-102" decimals="-5" id="f-414" unitRef="usd">18100000</rock:AccruedEquityBasedCompensation>
    <us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock contextRef="c-1" id="f-415">&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:&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.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="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;/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;2025&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;2024&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;18,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;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;/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;1,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-96" decimals="INF" id="f-416" unitRef="usd">18283</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-103" decimals="INF" id="f-417" unitRef="usd">40538</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-104" decimals="-3" id="f-418" unitRef="usd">1928000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-105" decimals="-3" id="f-419" unitRef="usd">2023000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="c-1" id="f-420">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: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="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;2025&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;2024&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;17,463&#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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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/accruals during the period&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,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;1,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Acquired warranty accruals during the period&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;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,698)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td 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 #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;18,716&#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;10,068&#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;td 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-421">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: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="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;2025&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;2024&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;17,463&#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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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/accruals during the period&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,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;1,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td 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;Acquired warranty accruals during the period&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;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,698)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td 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 #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;18,716&#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;10,068&#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;td 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-422" unitRef="usd">17463000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-6" decimals="-3" id="f-423" unitRef="usd">9139000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease contextRef="c-1" decimals="-3" id="f-424" unitRef="usd">6745000</us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease contextRef="c-3" decimals="-3" id="f-425" unitRef="usd">1056000</us-gaap:StandardProductWarrantyAccrualPeriodIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease contextRef="c-1" decimals="-3" id="f-426" unitRef="usd">206000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease contextRef="c-3" decimals="-3" id="f-427" unitRef="usd">0</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPayments contextRef="c-1" decimals="-3" id="f-428" unitRef="usd">5698000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments contextRef="c-3" decimals="-3" id="f-429" unitRef="usd">127000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-4" decimals="-3" id="f-430" unitRef="usd">18716000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual contextRef="c-7" decimals="-3" id="f-431" unitRef="usd">10068000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock contextRef="c-1" id="f-432">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 periodically undertakes restructuring initiatives as part of its focus to improve operating performance and optimize its business portfolio. These initiatives have led to outsourcing or discontinuing low-volume, low margin products, selling or exiting less profitable businesses or product lines, or reorganizing the Company's manufacturing footprint. As a result, the Company has incurred costs related to discrete restructuring events for moving and closing facilities, severance, inventory write-downs, and  warranty costs associated with discontinued product lines during the three months ended March&#160;31, 2025&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&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 charges (recoveries) incurred by segment related to the restructuring activities described above (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: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="border-bottom: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;Three Months Ended&lt;br/&gt;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="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;2025&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="15" 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;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;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;Residential&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;1,137&#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;1,137&#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;(72)&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;(72)&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;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;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;138&#160;&lt;/span&gt;&lt;/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;Renewables&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,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;269&#160;&lt;/span&gt;&lt;/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;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;5,766&#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;81&#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;5,847&#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;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;/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 impairments were recorded in the consolidated statements of income (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="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;2025&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;2024&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;4,362&#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;(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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;5,847&#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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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 recorded in current accrued expenses on the consolidated balance sheets relating to the Company&#x2019;s restructuring efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:66.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;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;2024&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;12,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;/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;5,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,670)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;/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;13,107&#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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock contextRef="c-1" id="f-433">&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 charges (recoveries) incurred by segment related to the restructuring activities described above (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: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="border-bottom: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;Three Months Ended&lt;br/&gt;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="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;2025&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="15" 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;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;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;Residential&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;1,137&#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;1,137&#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;(72)&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;(72)&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;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;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;138&#160;&lt;/span&gt;&lt;/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;Renewables&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,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,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;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;269&#160;&lt;/span&gt;&lt;/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;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;5,766&#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;81&#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;5,847&#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;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;/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 impairments were recorded in the consolidated statements of income (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="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;2025&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;2024&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;4,362&#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;(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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;5,847&#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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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-106" decimals="-3" id="f-434" unitRef="usd">1137000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-106" decimals="-3" id="f-435" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-106" decimals="-3" id="f-436" unitRef="usd">1137000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-107" decimals="-3" id="f-437" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-107" decimals="-3" id="f-438" unitRef="usd">-72000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-107" decimals="-3" id="f-439" unitRef="usd">-72000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-108" decimals="-3" id="f-440" unitRef="usd">68000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-108" decimals="-3" id="f-441" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-108" decimals="-3" id="f-442" unitRef="usd">68000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-109" decimals="-3" id="f-443" unitRef="usd">138000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-109" decimals="-3" id="f-444" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-109" decimals="-3" id="f-445" unitRef="usd">138000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-110" decimals="-3" id="f-446" unitRef="usd">4530000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-110" decimals="-3" id="f-447" unitRef="usd">81000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-110" decimals="-3" id="f-448" unitRef="usd">4611000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-111" decimals="-3" id="f-449" unitRef="usd">269000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-111" decimals="-3" id="f-450" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-111" decimals="-3" id="f-451" unitRef="usd">269000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-112" decimals="-3" id="f-452" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-112" decimals="-3" id="f-453" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-112" decimals="-3" id="f-454" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-113" decimals="-3" id="f-455" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-113" decimals="-3" id="f-456" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-113" decimals="-3" id="f-457" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-114" decimals="-3" id="f-458" unitRef="usd">31000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-114" decimals="-3" id="f-459" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-114" decimals="-3" id="f-460" unitRef="usd">31000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-115" decimals="-3" id="f-461" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-115" decimals="-3" id="f-462" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-115" decimals="-3" id="f-463" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-464" unitRef="usd">5766000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-1" decimals="-3" id="f-465" unitRef="usd">81000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-466" unitRef="usd">5847000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-3" decimals="-3" id="f-467" unitRef="usd">407000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-3" decimals="-3" id="f-468" unitRef="usd">-72000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-3" decimals="-3" id="f-469" unitRef="usd">335000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-116" decimals="-3" id="f-470" unitRef="usd">4362000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-117" decimals="-3" id="f-471" unitRef="usd">-72000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-118" decimals="-3" id="f-472" unitRef="usd">1485000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-119" decimals="-3" id="f-473" unitRef="usd">407000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-474" unitRef="usd">5847000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-3" decimals="-3" id="f-475" unitRef="usd">335000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock contextRef="c-1" id="f-476">&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 recorded in current accrued expenses on the consolidated balance sheets relating to the Company&#x2019;s restructuring efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:66.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;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;2024&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;12,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;/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;5,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,670)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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;/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;13,107&#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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve contextRef="c-5" decimals="-3" id="f-477" unitRef="usd">12011000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-6" decimals="-3" id="f-478" unitRef="usd">6725000</us-gaap:RestructuringReserve>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-479" unitRef="usd">5766000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1 contextRef="c-3" decimals="-3" id="f-480" unitRef="usd">407000</us-gaap:BusinessExitCosts1>
    <us-gaap:PaymentsForRestructuring contextRef="c-1" decimals="-3" id="f-481" unitRef="usd">4670000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring contextRef="c-3" decimals="-3" id="f-482" unitRef="usd">553000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve contextRef="c-4" decimals="-3" id="f-483" unitRef="usd">13107000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-7" decimals="-3" id="f-484" unitRef="usd">6579000</us-gaap:RestructuringReserve>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-485">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 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: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="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;2025&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;2024&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 (in thousands)&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;5,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;21.9&#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.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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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 effective tax rate for the three months ended March&#160;31, 2025 was greater than the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by benefits related to tax credit generation or utilization and favorable discrete items due to an excess tax benefit on stock-based compensation. The effective tax rate for the three months ended March&#160;31, 2024 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.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c-1" id="f-486">&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 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: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="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;2025&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;2024&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 (in thousands)&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;5,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;21.9&#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.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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td 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-487" unitRef="usd">5934000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-3" decimals="-3" id="f-488" unitRef="usd">8561000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-489" unitRef="number">0.219</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-3" decimals="3" id="f-490" unitRef="number">0.256</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-1" decimals="INF" id="f-491" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-3" decimals="INF" id="f-492" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-493">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 (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="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 #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;2025&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;2024&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Basic weighted average shares outstanding&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;30,252&#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;30,572&#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;Dilutive effect of common stock options and stock units&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;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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:#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;Dilutive weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,793&#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 provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations (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="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 #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;2025&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;2024&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;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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-494">&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 (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="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 #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;2025&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;2024&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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Basic weighted average shares outstanding&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;30,252&#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;30,572&#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;Dilutive effect of common stock options and stock units&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;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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:#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;Dilutive weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,793&#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:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-495" unitRef="shares">30252000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-3" decimals="-3" id="f-496" unitRef="shares">30572000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-1" decimals="-3" id="f-497" unitRef="shares">222000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-3" decimals="-3" id="f-498" unitRef="shares">221000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-499" unitRef="shares">30474000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-3" decimals="-3" id="f-500" unitRef="shares">30793000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-501">&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 (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="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 #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;2025&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;2024&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;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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-120" decimals="0" id="f-502" unitRef="shares">60000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-121" decimals="0" id="f-503" unitRef="shares">4000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-504">SEGMENT INFORMATION&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has four reportable segments: Residential, Agtech, Renewables and Infrastructure.  The Company's reportable segments are each managed separately because they design, engineer, manufacture, and where applicable install, distinct products with different production processes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Residential consists of operating segments that sell the following products and services to major retail home centers, building material wholesalers, building product distributors, roofing distributors, residential contractors, property management companies, manufactured housing dealers, postal services distributors and providers, and online direct to end consumers: roof and foundation ventilation products, single point and centralized mail systems and package solutions, outdoor living space products (sun-shading), rain dispersion systems, metal roofing job site services, and other construction accessories.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Agtech consists of an operating segment that sells the following products and services to large-scale indoor commercial growers, agricultural research, development facilities, as well as convenience store, travel centers, food retailers, and quick-serve restaurants: design, manufacture and build controlled environmental agriculture, custom greenhouses and structural canopies.&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;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Renewables consists of an operating segment that sells the following products and services to developers, EPCs and owners / operators of solar fields: design, manufacture and install solar energy mounting systems including foundation, racking, and electrical balance of system.&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;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Infrastructure consists of an operating segment that sells the following products to commercial and transportation contractors and fabricators:  expansion joints, structural bearings, rubber pre-formed seals and other sealants, elastomeric concrete, and bridge cable protection systems.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accounting policies of the Company's segments are the same as those described in Note 1 "Summary of Significant Accounting Policies" included in the Company's annual report on Form 10-K for the year ended December&#160;31, 2024. The following tables illustrate certain measurements used by management to assess the performance of the segments described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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:29.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:12.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.287%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.157%"&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, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&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:112%"&gt;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;179,994&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;45,040&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;43,658&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;21,323&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;290,015&#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:top"&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:112%"&gt;Less (1):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Operating expenses (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;148,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;41,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;46,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;16,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;253,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&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:112%"&gt;Segment profit (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;3,385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(3,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;5,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;36,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="21" 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-style:italic;font-weight:400;line-height:112%;text-decoration:underline"&gt;Reconciliation of segment profit&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Unallocated corporate expenses&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(11,248)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Interest income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Other expense, net&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(94)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;27,053&#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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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:29.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:12.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.287%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.157%"&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 #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:112%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&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:112%"&gt;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;185,111&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;34,027&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;51,496&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;21,872&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&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:112%"&gt;Less (1):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Operating expenses (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;150,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;49,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;16,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;249,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&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:112%"&gt;Segment profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;34,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;2,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;4,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;43,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" 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-style:italic;font-weight:400;line-height:112%;text-decoration:underline"&gt;Reconciliation of segment profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Unallocated corporate expenses&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Interest income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Other income, net&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;33,507&#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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Footnotes:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt"&gt;The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt"&gt;Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables are the reported segment&#x2019;s and unallocated corporate reported depreciation and amortization (in thousands):&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.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="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:120%"&gt;Three Months Ended&lt;br/&gt;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="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:120%"&gt;2025&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:120%"&gt;2024&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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td 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;2,527&#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;2,591&#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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&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,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses&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;818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,663&#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;The following table is the reported segment's 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;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:120%"&gt;December 31,&lt;br/&gt;2024&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;Residential&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;638,433&#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;497,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;305,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,929&#160;&lt;/span&gt;&lt;/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;Renewables&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;368,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,881&#160;&lt;/span&gt;&lt;/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;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;78,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,366&#160;&lt;/span&gt;&lt;/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;Unallocated corporate 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;47,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'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 #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,439,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&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 #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:#ffffff;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,419,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&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 presents disaggregated revenue by timing of transfer of control to customers by reported segment (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:17.201%"&gt;&lt;/td&gt;&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.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.717%"&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, 2025&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;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;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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Point in Time&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;179,994&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;195,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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;Over Time&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;44,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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;179,994&#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;45,040&#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;43,658&#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;21,323&#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 #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;290,015&#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: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:17.201%"&gt;&lt;/td&gt;&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.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.717%"&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;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;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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Point in Time&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;183,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;198,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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;185,111&#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;34,027&#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;51,496&#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;21,872&#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;292,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-505"
      unitRef="segment">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="c-1" id="f-506">The following tables illustrate certain measurements used by management to assess the performance of the segments described above (in thousands):&lt;div style="margin-top:10pt;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:29.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:12.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.287%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.157%"&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, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&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:112%"&gt;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;179,994&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;45,040&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;43,658&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;21,323&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;290,015&#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:top"&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:112%"&gt;Less (1):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Operating expenses (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;148,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;41,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;46,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;16,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;253,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&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:112%"&gt;Segment profit (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;3,385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(3,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;5,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;36,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="21" 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-style:italic;font-weight:400;line-height:112%;text-decoration:underline"&gt;Reconciliation of segment profit&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Unallocated corporate expenses&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(11,248)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Interest income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Other expense, net&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(94)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;27,053&#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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;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:29.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:12.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.432%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.287%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.369%"&gt;&lt;/td&gt;&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.157%"&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 #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:112%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&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:112%"&gt;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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;185,111&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;34,027&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;51,496&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;21,872&#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:top"&gt;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&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:112%"&gt;Less (1):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Operating expenses (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;150,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;31,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;49,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;16,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;249,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&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:112%"&gt;Segment profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;34,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;2,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;4,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;43,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" 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-style:italic;font-weight:400;line-height:112%;text-decoration:underline"&gt;Reconciliation of segment profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Unallocated corporate expenses&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Interest income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Other income, net&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="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;33,507&#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:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Footnotes:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt"&gt;The significant expense category and amounts align with the segment-level information that is regularly provided to the CODM.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt"&gt;Operating expenses for each reportable segment includes inventory and manufacturing expenses, employee compensation, depreciation and amortization, freight services, other costs of sales expenses, and other selling, general and administrative expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables are the reported segment&#x2019;s and unallocated corporate reported depreciation and amortization (in thousands):&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.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="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:120%"&gt;Three Months Ended&lt;br/&gt;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="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:120%"&gt;2025&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:120%"&gt;2024&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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td 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;2,527&#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;2,591&#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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&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,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses&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;818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,663&#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;The following table is the reported segment's 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;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:120%"&gt;December 31,&lt;br/&gt;2024&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;Residential&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;638,433&#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;497,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;305,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,929&#160;&lt;/span&gt;&lt;/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;Renewables&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;368,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,881&#160;&lt;/span&gt;&lt;/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;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;78,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,366&#160;&lt;/span&gt;&lt;/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;Unallocated corporate 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;47,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'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 #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,439,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&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 #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:#ffffff;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,419,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues contextRef="c-122" decimals="-3" id="f-507" unitRef="usd">179994000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-108" decimals="-3" id="f-508" unitRef="usd">45040000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-110" decimals="-3" id="f-509" unitRef="usd">43658000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-112" decimals="-3" id="f-510" unitRef="usd">21323000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-123" decimals="-3" id="f-511" unitRef="usd">290015000</us-gaap:Revenues>
    <us-gaap:OperatingExpenses contextRef="c-122" decimals="-3" id="f-512" unitRef="usd">148734000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-108" decimals="-3" id="f-513" unitRef="usd">41655000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-110" decimals="-3" id="f-514" unitRef="usd">46803000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-112" decimals="-3" id="f-515" unitRef="usd">16065000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-123" decimals="-3" id="f-516" unitRef="usd">253257000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c-122" decimals="-3" id="f-517" unitRef="usd">31260000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-108" decimals="-3" id="f-518" unitRef="usd">3385000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-110" decimals="-3" id="f-519" unitRef="usd">-3145000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-112" decimals="-3" id="f-520" unitRef="usd">5258000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-123" decimals="-3" id="f-521" unitRef="usd">36758000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-114" decimals="-3" id="f-522" unitRef="usd">-11248000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-1" decimals="-3" id="f-523" unitRef="usd">1637000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherIncome contextRef="c-1" decimals="-3" id="f-524" unitRef="usd">-94000</us-gaap:OtherIncome>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-525" unitRef="usd">27053000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:Revenues contextRef="c-124" decimals="-3" id="f-526" unitRef="usd">185111000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-109" decimals="-3" id="f-527" unitRef="usd">34027000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-111" decimals="-3" id="f-528" unitRef="usd">51496000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-113" decimals="-3" id="f-529" unitRef="usd">21872000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-125" decimals="-3" id="f-530" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:OperatingExpenses contextRef="c-124" decimals="-3" id="f-531" unitRef="usd">150765000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-109" decimals="-3" id="f-532" unitRef="usd">31419000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-111" decimals="-3" id="f-533" unitRef="usd">49852000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-113" decimals="-3" id="f-534" unitRef="usd">16976000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-125" decimals="-3" id="f-535" unitRef="usd">249012000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c-124" decimals="-3" id="f-536" unitRef="usd">34346000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-109" decimals="-3" id="f-537" unitRef="usd">2608000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-111" decimals="-3" id="f-538" unitRef="usd">1644000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-113" decimals="-3" id="f-539" unitRef="usd">4896000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-125" decimals="-3" id="f-540" unitRef="usd">43494000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-115" decimals="-3" id="f-541" unitRef="usd">-11758000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-3" decimals="-3" id="f-542" unitRef="usd">750000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherIncome contextRef="c-3" decimals="-3" id="f-543" unitRef="usd">1021000</us-gaap:OtherIncome>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-3" decimals="-3" id="f-544" unitRef="usd">33507000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-122" decimals="-3" id="f-545" unitRef="usd">2527000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-124" decimals="-3" id="f-546" unitRef="usd">2591000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-108" decimals="-3" id="f-547" unitRef="usd">2760000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-109" decimals="-3" id="f-548" unitRef="usd">830000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-110" decimals="-3" id="f-549" unitRef="usd">2280000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-111" decimals="-3" id="f-550" unitRef="usd">1900000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-112" decimals="-3" id="f-551" unitRef="usd">701000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-113" decimals="-3" id="f-552" unitRef="usd">745000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-114" decimals="-3" id="f-553" unitRef="usd">818000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-115" decimals="-3" id="f-554" unitRef="usd">597000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-555" unitRef="usd">9086000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-3" decimals="-3" id="f-556" unitRef="usd">6663000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:Assets contextRef="c-126" decimals="-3" id="f-557" unitRef="usd">638433000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-127" decimals="-3" id="f-558" unitRef="usd">497317000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-128" decimals="-3" id="f-559" unitRef="usd">305855000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-129" decimals="-3" id="f-560" unitRef="usd">156929000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-130" decimals="-3" id="f-561" unitRef="usd">368587000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-131" decimals="-3" id="f-562" unitRef="usd">390881000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-132" decimals="-3" id="f-563" unitRef="usd">78924000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-133" decimals="-3" id="f-564" unitRef="usd">78366000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-134" decimals="-3" id="f-565" unitRef="usd">47619000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-135" decimals="-3" id="f-566" unitRef="usd">295917000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-567" unitRef="usd">1439418000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-568" unitRef="usd">1419410000</us-gaap:Assets>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c-1" id="f-569">&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 presents disaggregated revenue by timing of transfer of control to customers by reported segment (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:17.201%"&gt;&lt;/td&gt;&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.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.717%"&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, 2025&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;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;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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Point in Time&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;179,994&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;195,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/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;Over Time&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;44,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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;179,994&#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;45,040&#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;43,658&#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;21,323&#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 #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;290,015&#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: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:17.201%"&gt;&lt;/td&gt;&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.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.712%"&gt;&lt;/td&gt;&lt;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.712%"&gt;&lt;/td&gt;&lt;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:14.717%"&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;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;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;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="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/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;Point in Time&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;183,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;198,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&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;185,111&#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;34,027&#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;51,496&#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;21,872&#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;292,506&#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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:Revenues contextRef="c-136" decimals="-3" id="f-570" unitRef="usd">179994000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-137" decimals="-3" id="f-571" unitRef="usd">276000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-138" decimals="-3" id="f-572" unitRef="usd">6982000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-139" decimals="-3" id="f-573" unitRef="usd">7880000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-140" decimals="-3" id="f-574" unitRef="usd">195132000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-141" decimals="-3" id="f-575" unitRef="usd">0</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-142" decimals="-3" id="f-576" unitRef="usd">44764000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-143" decimals="-3" id="f-577" unitRef="usd">36676000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-144" decimals="-3" id="f-578" unitRef="usd">13443000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-145" decimals="-3" id="f-579" unitRef="usd">94883000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-146" decimals="-3" id="f-580" unitRef="usd">179994000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-57" decimals="-3" id="f-581" unitRef="usd">45040000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-58" decimals="-3" id="f-582" unitRef="usd">43658000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-59" decimals="-3" id="f-583" unitRef="usd">21323000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-584" unitRef="usd">290015000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-147" decimals="-3" id="f-585" unitRef="usd">183332000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-148" decimals="-3" id="f-586" unitRef="usd">2339000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-149" decimals="-3" id="f-587" unitRef="usd">6789000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-150" decimals="-3" id="f-588" unitRef="usd">6310000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-151" decimals="-3" id="f-589" unitRef="usd">198770000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-152" decimals="-3" id="f-590" unitRef="usd">1779000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-153" decimals="-3" id="f-591" unitRef="usd">31688000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-154" decimals="-3" id="f-592" unitRef="usd">44707000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-155" decimals="-3" id="f-593" unitRef="usd">15562000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-156" decimals="-3" id="f-594" unitRef="usd">93736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-157" decimals="-3" id="f-595" unitRef="usd">185111000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-158" decimals="-3" id="f-596" unitRef="usd">34027000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-159" decimals="-3" id="f-597" unitRef="usd">51496000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-160" decimals="-3" id="f-598" unitRef="usd">21872000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-3" decimals="-3" id="f-599" unitRef="usd">292506000</us-gaap:Revenues>
    <us-gaap:SubsequentEventsTextBlock contextRef="c-1" id="f-600">SUBSEQUENT EVENT&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;In April 2025, the Company's Board of Directors authorized a new share repurchase program of up to $200&#160;million of the Company's issued and outstanding common stock. The new program has a duration of three years, ending April 30, 2028. 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. The Company has not made repurchases under the new repurchase program as of April 30, 2025.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <srt:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-161" decimals="-6" id="f-601" unitRef="usd">200000000</srt:StockRepurchaseProgramAuthorizedAmount1>
    <rock:ShareRepurchaseProgramDuration contextRef="c-161" id="f-602">P3Y</rock:ShareRepurchaseProgramDuration>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c-1" id="f-603">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-1" id="f-604">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c-1" id="f-605">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-1" id="f-606">false</ecd:Rule10b51ArrAdoptedFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
